当前位置: 技术问答>java相关
请教一个JDBC访问数据库中的汉字问题
来源: 互联网 发布时间:2015-06-20
本文导语: 请教一个JDBC访问数据库中的汉字问题。 我在访问Informix 7.3 数据库时,现象如下: 如果使用Jdbc-Odbc检索数据正常 如果使用Informix的Jdbc驱动,如果检索结果存在汉字,结果是乱码.而且如果条件中包含汉...
请教一个JDBC访问数据库中的汉字问题。
我在访问Informix 7.3 数据库时,现象如下:
如果使用Jdbc-Odbc检索数据正常
如果使用Informix的Jdbc驱动,如果检索结果存在汉字,结果是乱码.而且如果条件中包含汉字,则无法获得正确结果.
并且,如果数据库服务器运行在Sun上的时侯不正常,如果数据库服务器运行在Sco Unix上的时候,结果就正常.
现在我的解决方法是:
对于结果, 将结果的字符串 从 ISO8859-1 字符集转换 到 GB2312 字符集.
对于查询的SQL语句,从 GB2312 字符集转换到 ISO8859-1 字符集.
但是我觉得这个现象应该和Driver的参数设置有关,JDBC-ODBC能处理不知道是什么原因.
那位有这方面的经验,请赐教.
我在访问Informix 7.3 数据库时,现象如下:
如果使用Jdbc-Odbc检索数据正常
如果使用Informix的Jdbc驱动,如果检索结果存在汉字,结果是乱码.而且如果条件中包含汉字,则无法获得正确结果.
并且,如果数据库服务器运行在Sun上的时侯不正常,如果数据库服务器运行在Sco Unix上的时候,结果就正常.
现在我的解决方法是:
对于结果, 将结果的字符串 从 ISO8859-1 字符集转换 到 GB2312 字符集.
对于查询的SQL语句,从 GB2312 字符集转换到 ISO8859-1 字符集.
但是我觉得这个现象应该和Driver的参数设置有关,JDBC-ODBC能处理不知道是什么原因.
那位有这方面的经验,请赐教.
|
其实解决的方案很简单,就是必须将你的数据库的编码以及你的服务器操作系统的编码还有编译JAVA文件时的编码设置为同一个就可以了.
|
我以前也遇到过这种事情,不过我是在win98+access下。做了字符串转换也不行,后来把控制面板的区域中的简体中文改为美国英语才解决的,不知道是什么原因,想不通。