我正在尝试从Java应用程序中读取Db2数据库中的汉字
db2数据库配置
DB2数据库XDSN3T配置:
正确显示带有DB2 CLP的数据
也从另一个delphi应用程序中文数据正确
非unicode程序:
只有Java无法正确显示数据->ÃæÁÏ¡¸¸ÁÏ¡¸¸¼¼þ
也许与JDBC有关。
答案 0 :(得分:0)
打开连接时,可以定义编码,不确定是否适用于中文。但这是一个例子:
Connection con = DriverManager.getConnection("jdbc:mysql://examplehost:8888/dbname?useUnicode=yes&characterEncoding=UTF-8","user", "pass");
答案 1 :(得分:0)
有人说编码可能是个问题; Java中的字符是使用UTF-16编码存储的,这本身就存在有关中文(还有一些表情符号)字符编码的问题。
您可以在此处找到UTF-16的字符列表:https://www.fileformat.info/info/charset/UTF-16/list.htm
当无法使用单个16位单元编码字符时,会出现UTF-16问题。这些字符使用两个16位单位(称为代理对)进行编码。参见:https://docs.oracle.com/javase/6/docs/api/java/lang/Character.html#unicode
对不起,我无法提供完整的答案,但我希望这会有所帮助