日期:2014-05-16  浏览次数:20595 次

mysql 乱码问题

是用cdb出现乱码问题,搞了我几个小时。

吸取的教训就是:

1、蛋疼的cdb,蛋疼的iso编码。不允许修改

2、对mysql编码的理解太少了

?

由于自己建的mysql数据库都是指定为utf8编码,所以自己不喜欢在url上加上useUnicode=true&characterEncoding=utf8这样的参数,命令行、工具操作数据库的时候也都很顺畅。

?

但是cdb的mysql使用的是默认编码:latin(iso)默认配置

?

?


本身就算是默认latin编码,只要url指定了utf8编码方式,读取操作数据也是没问题的。只要db编码方式是utf8 就像上图这样。

?

但是使用命令行就蛋疼了,例如 source命令导入数据。这个时候使用的是默认编码方式操作也就是latin编码

自然把乱码存进去了。用utf8编码取的时候自然乱码了。

?

?

cdb是不允许修改编码方式的,也没地方修改。解决方式在执行命令前:set names utf8

?

编码会临时改成utf8.操作顺利完毕。重启后自然会回复默认,但是命令行操作前执行 set names utf8就行了。

?

?