mysql中数据并非乱码,而在command line client中乱码问题解决方法

安装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、在控制台显示的东西也不一定是“真实”的。如上面的,其实数据库中的是中文字,只是在显示的时候发生了乱码问题。

posted on 2008-12-08 15:25 duduli 阅读(3477) 评论(4)  编辑  收藏 所属分类: 数据库

评论

# re: mysql中数据并非乱码,而在command line client中乱码问题解决方法 2008-12-08 18:52 刘凯毅

再提醒你点 吧
这也是可以的
你可以看看 mysql --help
加载过程是:
C:\WINDOWS\my.ini
C:\WINDOWS\my.cnf
C:\my.ini C:\my.cnf
C:\Program Files\MySQL\MySQL Server 5.0\my.ini
C:\Program Files\MySQL\MySQL Server 5.0\my.cnf
文件越后越起作用

还有些别的 比如:连接池;最大超时连接时间等等 都可以看看
你也可以使用 在 windows 中 dos 中 mysql -uroot --default-character-set=gbk ...

连接方式 (注意 在Windows 下 不管你的数据是什么格式的 都得用gbk ,原因是 dos 中文只支持 gbk )

linux 下 那就随便 ,不过我都用 utf8

随便说下 使用 command 模式 比界面模式好 哦 ,比如
show talbes where ...
正则列名,表, 方法 查询 (可以参考 mysql 官方文档)
  回复  更多评论   

# re: mysql中数据并非乱码,而在command line client中乱码问题解决方法 2008-12-08 19:15 游上岸的鱼

在打开MySQL的客户端时先输入set name GBK也行的  回复  更多评论   

# re: mysql中数据并非乱码,而在command line client中乱码问题解决方法 2008-12-09 13:29 duduli

恩恩,知道了。解决的方法是很多的。或许你们的方法是更好的点哦。数据用utf-8的。国际通行码。@游上岸的鱼
  回复  更多评论   

# re: mysql中数据并非乱码,而在command line client中乱码问题解决方法 2008-12-13 18:32 dell笔记本

谢谢,正需要这个东西  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 
<2008年12月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

导航

统计

公告

welcome to my place.

常用链接

留言簿(5)

我参与的团队

随笔分类

随笔档案

新闻分类

石头JAVA摆地摊儿

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜

@duduli