如何保留java中从varchar值获取的中文/韩文字符

时间:2016-09-20 13:52:42

标签: java varchar oracle12c

我正在使用String变量来存储来自ResultSet的varchar的值。问题是当我在应用程序中保存此值时。它不会显示中文/韩文字符。我确信问题不在于我的应用程序中的渲染,因为我能够使用相同的代码从Clob对象中查看这些字符。获取varchar以保留unicode字符的首选方法是什么?下面是一个易于解释问题的小片段。

Result resultSet = statment.getResultSet();
while(resultSet.hasNext(){
String userName = commentRS.getString(3);
}

1 个答案:

答案 0 :(得分:0)

如果您认为在从数据库的CLOB到Java的字符串的编码转换过程中出现了问题,那么您可以尝试使用此代码来避免它:

String userName = new String(commentRS.getBytes(3), "UTF-8");

我们的想法是从数据库中获取纯字节流,然后创建一个具有所需编码的字符串。