Who am I


--------------------------
成江东@盛大在线
生肖:马
星座:处女
职业:IT民工
家乡:三峡.宜昌
住址:闵行
工作:张江
目标:做最好的DBA
爱好:读书,电影,音乐,旅游
性格:动中取静
喜欢的报刊杂志:
<南方周末>
<看电影>
<蓝球先锋报>
QQ:1913908
MAIL:YCZEALOT#GMAIL.COM

Catalog

我的豆瓣

 

2010年九月
« 八    
 12345
6789101112
13141516171819
20212223242526
27282930  

mysql中文乱码终极指南

mysql对于国人来说,主要使用gbk或者utf8字符集。GBK和UTF-8都是系统的字符编码,GBK包含中日韩字符集合,能完美支持简体中文和英文,但如果在IE没有安装简体中文支持的电脑上阅读GBK编码的网页,中文会变成乱码,例如英国人浏览您的网站,电脑全是火星文,UTF-8则包含了大部分文字的编码,可以表达更多的语言,使用UTF-8一个最大的好处就是其他地区的用户(美国、印度、台湾)无需安装简体中文支持,就能正常看您的文字,并且不会出现乱码,通常网络传输也是使用UTF-8编码。

utf8字符集中汉字默认占3个字节,英文字母是占1个,而gbk是汉字字母都是2个字节,使用gbk节省磁盘空间。

一句话,使用GBK节省空间,使用UTF8全球化更好。

以UTF8为例,不论你以前的mysql设置的字符集是什么,进行下面的操作就能都设置为UTF8:

首先修改/etc/sysconfig/i18n文件为:

LANG=”en_US.UTF-8″
SUPPORTED=”zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en”
SYSFONT=”latarcyrheb-sun16″

注意,如果设置LANG=”zh_CN.UTF-8″,在文字界面会一切正常,startx进入图形界面会发现全部是乱码!!

然后修改my.cnf文件

      找到[mysql] 在下面添加
      default-character-set=utf8 
      找到[mysqld] 添加
      default-character-set=utf8
      init_connect=’SET NAMES utf8′

      修改好后,重新启动mysql 即可,查询一下show variables like ‘character%’,如果是下面的情况就OK了;
      +————————–+—————————-+
      | Variable_name | Value |
      +————————–+—————————-+
      | character_set_client | utf8 |
      | character_set_connection | utf8 |
      | character_set_database | utf8 |
      | character_set_filesystem | binary |
      | character_set_results | utf8 |
      | character_set_server | utf8 |
      | character_set_system | utf8 |
      | character_sets_dir | /usr/share/mysql/charsets/ |

如果使用securecrt登录,还要注意,最好使用 SecureCRT v6.5.8.380 汉化版,对中文显示和输入支持很好,以前我用的5.0总有点问题。下载地址:
http://www.crsky.com/soft/6838.html

然后设置选项-会话选项-外观-字符编码,选择utf-8,字体选择新宋体,就一切ok了。

登录mysql进行插入中文和显示中文的测试,如果还有乱码的情况出现,请使用show create database dbname,show create table tbname检查你的数据库,表,字段的字符集设置,很可能还有一些不是utf8,导致乱码,改为utf8后,一切正常。

补充:init_connect参数对于连接数据库的用户是超级用户组的用户将忽略,这样是为了避免该参数导致数据库致命错误,而无法使用任何一个用户连接修改该项配置…

Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>