當使用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