java - 用java从Oracle数据库中读取阿拉伯语数据

标签 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);
}
}

最佳答案

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

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

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

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

希望有帮助。

关于java - 用java从Oracle数据库中读取阿拉伯语数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21513126/

相关文章:

java - 结合 jMockit 的测试覆盖率报告

java - 混淆 Java Web 应用程序

c - 数据库事务和线程

mysql - 不同数据库厂商如何存储数据库的元数据

sql - 在 Oracle 11g 查询中使用多列、多行表文字是否有一种非丑陋的方法?

java - 如何在java中使用参数化?

java - 为什么这个 FindBugs 警告没有被抑制?

php - 用于显示数据的 Mysql 查询

mysql - 使用 mySQL 中的其他表更新值

java - 如何在使用基本身份验证的 JDeveloper 中测试 Web 服务?