安装mysql前就给自己计划好了,用utf-8编码。支持中文的。
而今天在做hibernate时发现存入都没问题,而在command line client上显示中文出现了问题。
开始还认为可能数据库的问题,
把数据用hibernate读取出来,也没问题呀。
问题是什么呢?
用mysql-front去查看也是很正常的中文。
奇怪啦。
或许是命令行的问题。
修改控制台的“默认代码页”--改为437(oem-美国),初始值为936 (ansi/oem--简体中文 GBK的)。
------》确定。再select下,还是乱码,而且比刚才更乱了。
没办法,修改mysql 中的my.ini文件,此处要修改2个地方,一个在57行另一个在81行。
default-character-set=utf8
将其修改为
default-character-set=gb2312
当然也可以为gbk。个人喜欢gb2312。
重新打开command,再select。能看到中文了。用hibernate,以及mysql-front都正确。
------------------------------------------------------------------------------------------------------------------
认识:
在这里自己知道很多。
1、mysql乱码问题在my.ini中修改即可。
2、使用utf-8编码也没错。只是控制台调用utf-8编码文字时不能够正确显示。因为它的编码为GBK的。
3、在控制台显示的东西也不一定是“真实”的。如上面的,其实数据库中的是中文字,只是在显示的时候发生了乱码问题。