ofbiz中mysql的中文乱码问题!

dalianzj 03-09-20

我的ofbiz是用的mysql数据库,当往数据库中存入汉字时就会出现乱码!如:在partymgr模块中new person时,输入一个中文名字在mysql中就会显示乱码,在jsp中取出也是乱码,a = new String(a.getBytes("iso-8859-1"),"GBK");也不好用!如何能使它正常显示汉字,我想不应该是在存储汉字时进行处理后再存入mysql中,而是应该修改一个mysql的一个什么配置吧?不知我的想法对不对?应该怎么做望指教!(希望banq和Quake_Wang给与解答!)

wys1978
2003-09-20 20:43

我以前用mysql跑其他java app的时候没有碰到中文问题,那个时候编码用的是GBK。

Ofbiz编码用的是utf-8, 我没有在mysql上跑过。你的mysql的版本和jdbc driver是什么? 如果是connector-j的话,你可以尝试这2个connection properties: useUnicode 和characterEncoding

详细的说明可以看mysql的文档。

dalianzj
2003-09-21 13:17

我的mysql用的是4.0.14,驱动是:mm.mysql-2.0.14-bin.jar,是不是驱动和mysql的版本不符合?

wys1978
2003-09-21 13:53

mm.mysql是connector-j的前身,你可以从mysql.com上下载最新的connector-j试试看.

dalianzj
2003-09-21 14:54

问题已经解决!方法是:c:\winnt\my.ini配置文件中的 [mysqld] 里添加一行:
default-character-set=gbk
然后重启 mysql server 。这样就使中文可以在mysql中正常显示了!