Mysql里面的中文在root用户下正常,其他用户都是乱码,为何?

寂寞的大师 发布于 2012/07/15 22:53
阅读 603
收藏 0
系统是Ubuntu11 mysql版本是5.1的。我在网上搜了一下,有人说是mysql的local的设置问题。但是在网上么有搜到这方面的设置。有兄弟有好的解决办法吗?
加载中
0
寂寞的大师
寂寞的大师

问题已经搞定了。

在用source导入数据的时候要看一下 show variables like '%char%';

为什么用php查询的时候 不用的mysql用户显示的结果不一样,也是同一个道理 看一下 show variables like '%char%'就明白了。

明白了上面两个就明白了set names utf8 的意思了。

utf8转latin是不可逆的。还有用mysql命令终端 建表的时候 看一下  show variables like '%char%'

0
逝水fox
逝水fox

root是指mysql的root用户还是Linux的root用户?

试下 mysql 命令带上参数 --default-character-set=utf8   utf8换成你保存在mysql里面的字符串编码

0
xinzaibing
xinzaibing
是root帐户下select语句正常吗?切换到其他用户就不正常了
0
泡不烂的凉粉
泡不烂的凉粉
系统里的root 还是 MYSQL里的root
0
寂寞的大师
寂寞的大师

引用来自“逝水fox”的答案

root是指mysql的root用户还是Linux的root用户?

试下 mysql 命令带上参数 --default-character-set=utf8   utf8换成你保存在mysql里面的字符串编码

是mysql里面的root,设置的utf8貌似也不行的
0
寂寞的大师
寂寞的大师

引用来自“xinzaibing”的答案

是root帐户下select语句正常吗?切换到其他用户就不正常了
是的,很奇怪
xinzaibing
xinzaibing
在mysql命令行输入show variables like '%set' 查看一下客户端的字符集和服务端的字符集是否一样。
0
寂寞的大师
寂寞的大师

引用来自“看能不能改个名”的答案

系统里的root 还是 MYSQL里的root
mysql里面的root
0
IT猫
IT猫
set names utf8
0
寂寞的大师
寂寞的大师
其实这个问题水很深的。换个问发吧,如果我一开始字段设置的字符集是latin然后数据写进去了,那这个时候我在修改字段的字符集为utf8,那么问题来了,我第一次写进去的数据 他的编码是latin还是utf8呢?
寂寞的大师
寂寞的大师
回复 @guoliang : 前面的同事操作失误了,结果我就发现了这个问题。。。然后我又发现1楼的那个问题,root用户查询出来的正常,其他的用户查询出来的乱码。。
guoliang
guoliang
一直保持一致的utf8不好了?
0
黄献
黄献
设置编码格式就行了 在添加管理用户的时候。
返回顶部
顶部