当前位置: 代码迷 >> 其他数据库 >> linux环境改变后java向sqlite插入中文数据出现乱码解决方案
  详细解决方案

linux环境改变后java向sqlite插入中文数据出现乱码解决方案

热度:4923   发布时间:2013-02-26 00:00:00.0
linux环境改变后java向sqlite插入中文数据出现乱码
问题是这样的,我写了一个java程序从网上上抓取数据到sqlite上,这个程序是执行在linux环境下。之前一直执行的好好的,没有出现过中文乱码的现象,但是最近由于升级服务器把数据迁移到了新的环境上,导致再向sqlite中插入中文数据时就出现乱码,迁移系统时没有改动任何 linux上的配置,包括/etc/sysconfig/i18n和 /etc/profile下的编码,奇怪的是不仅新插入的数据是乱码,迁移之前的数据也有部分变成了乱码。 而且更为奇怪的是中文乱码只出现在数据库当中的一个表,另外的表不受影响。我猜测可能是抓取的网页的编码发生了变化,但是检查过后确定没有变化,而且java程序里面出入数据的代码也没有改动。我又想可能会是环境发生了变化,于是在本地(window7)测试了一下,发现导入的中文数据显示正常,可是一到了服务器上(centOS5.5)上导入的数据就又不对了。我实在是迷惑了,到底有什么办法能够解决这个编码的问题?

------解决方案--------------------------------------------------------
sqlite默认是UTF字符集,在java中转换一下编码试试
------解决方案--------------------------------------------------------
感觉应该是服务器的配置问题,因为你的程序运行正常

检查一下 centos默认语言
转:
centos5.5修改系统默认语言


打开vim /etc/sysconfig/i18n,按需要的语言进行修改

中文 :LANG=”zh_CN.UTF-8″

英文:LANG=”en_US.UTF-8″

重启系统或者更新i18n文件即可

source /etc/sysconfig/i18n
------解决方案--------------------------------------------------------
应该跟你的centos升级有关系。
------解决方案--------------------------------------------------------
重新设置你的NAMES字符集设置。

http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
MySQL 中文显示乱码
  相关解决方案