在Mysql中会经常碰到中文乱码问题,与oracle相比,不但库拥有字符集,连表,或字段都拥有自己的字符集
导致我们在查询,新增记录时出现各种各样的乱码,或者是自己的终端上没有问题,在其它终端连接就会出现问题。
常见乱码分析:
1,登录方式,导致的中文乱码:
2,操作系统语言集:
$ cat /etc/sysconfig/i18n
显示UTF-8格式,也可以使用:
$ echo $LANG
可以使用 export LANG=C 进行修改。。
但是重新登录后,乱码依然:
3,文件格式导致的中文乱码:
此时,在执行SQL脚本时就会报错:
这个解决方案,是将文件修改成utf-8格式,或者在VI中修改:
:set fileencoding=utf-8
在MYSQL中,一个汉字占3个字节,如何避免乱码:
1,编辑文件时,指定与数据库相同字符集,比如gbk
2,在初始化数据库时,对库的字符集,表,以及字段进行统一编码设置,比如gbk
3,在代码中,指定字符集:
mysql_set_character_set(mysql, "utf8");
或者执行:
mysql_query('SET NAMES UTF8')