日期:2014-05-16 浏览次数:20631 次
是用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就行了。
?
?