当使用Teradata客户端运行时,我使用Teradata并查询下面的输出“Altlüd”。从teradata读取特殊字符时出现问题 - JDBC
select name as name from MYTABLE where selector=?
然而,我得到“Altl?d”作为输出,当我尝试使用Java客户端(JDBC和Teradata驱动程序)来执行查询。我使用的是“UTF-8”字符集,我也尝试过拉丁字符集,但没有运气。
我也试过这个来排除故障。
while (rs.next()) {
System.out.println(rs.getString(1));
Reader rd = rs.getCharacterStream(1);
int charr = rd.read();
while (charr >= 0) {
System.out.println(charr + " = " + ((char) charr));
charr = rd.read();
}
}
并且输出是
Altl?dersdorf 65 = A 108 = 1 116 = T 108 = 1 65533 =? 100 = d
如果您查看生成的输出,spl字符的int值是65533,不应该如此。
Infact对所有特殊字符返回65533。
任何线索/指针将不胜感激。谢谢!!!
Chedine,如何将字符集设置为用于teradata驱动程序的LATIN9_OA? – hirentshah 2011-10-05 06:58:27