2011-11-24 69 views
2

在我的swing应用程序中,我将显示来自数据库的hindi unicode字符。 当我显示名称时,它显示为原样,而不是作为印地语字符串。ResultSet getString字符编码的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); 

它显示正确。哪里有问题。

回答

2

问题在于Oracle正在使用的编码。您必须将其设置为在数据库中使用UTF-8。不幸的是,你不能在JDBC类中解决这个问题。