在java中从Oracle数据库中读取阿拉伯数据

时间:2014-02-02 16:38:06

标签: java database oracle arabic

我想从数据库中读取数据。数据是阿拉伯语。我的数据库的字符集是AL32UTF8。 当我试图检索数据时,我得到“????” 请回复如何解决这个问题 这是代码

public static void main(String[] args) {
// TODO Auto-generated method stub
String url = "jdbc:oracle:thin:@localhost:1521:xe";
String username = "hr";
String password = "hr";
String sql = "SELECT WORDS_URDU FROM FINALLY WHERE DFFGG=430";
Connection connection;
try {
connection = DriverManager.getConnection(url, username, password);
Statement statement = connection.createStatement();
ResultSet rs = statement.executeQuery(sql);
while(rs.next())
{
System.out.println(rs.getString(1));
}
//System.out.println(statement.execute(sql));
connection.close();
} catch (SQLException e) {
System.err.println(e);
}
}

1 个答案:

答案 0 :(得分:1)

首先要确定的是表中的数据是否正确存储。如果是,则显示问题。

检查是否在运行程序的客户端上为NLS_LANG环境变量设置了正确的值。

确保运行程序的终端程序能够显示所需的字符。

要确定数据库内容是否已损坏,您可以尝试从最终dffgg = 430;'中选择'select dump(words_urdu)。这将显示存储在数据库中的实际字符。如果在数据插入时未正确设置NLS_LANG环境变量,则数据库中的数据可能已损坏。

希望有所帮助。