Unicode字符的ResultSet getString字符编码

3

在我的Swing应用程序中,我要从数据库中显示印地语Unicode字符。但当我显示名称时,它以原样显示,而不是印地语字符串。

但是当我将其硬编码到程序中时,它就正确显示了。问题是什么?在从数据库获取数据时是否有任何字符编码选项?我正在使用带有Netbeans的Oracle XE。

    String name = rs.getString("name");
    jLabel1.setText(name);

这里直接显示Unicode字符。但是在这里:

    String name = "\u0938\u093e\u092e\u093e\u0928\u094d\u092f";
    jLabel1.setText(name);

它显示得正确。问题出在哪里?
1个回答

3
问题在于Oracle使用的编码方式。您需要在数据库中设置为使用UTF-8编码方式。不幸的是,您无法在JDBC类中修复此问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接