mysql5.5字符集設置的一點變化(對於中文亂碼問題,需要設置mysql字符集)

 工作中因爲字符集問題沒少頭疼,還犯過一次錯誤,還好拯救及時,沒有發生重大事故,唉,弄清楚點還是非常有必要的:

例如我的工作環境爲CTR+redhat5+mysql5.5

在導入sql語句的時候必須要注意三個地方:(此處以UTF-8字符集爲例)

 

字符集問題:

1crt中要改爲UTF-8  新宋體

2、linux系統字符集 locale要改爲

LANG=en_US.UTF-8

3mysql client要該爲:

mysql > \s

...

Server characterset:    utf8

Db     characterset:    utf8

Client characterset:    latin1

Conn.  characterset:    latin1

...

 

mysql > set names utf8;                              此處爲臨時改客戶端的字符集爲UTF-8,這個由於歷史遺留問題造成的,只能臨時改。

Query OK, 0 rows affected (0.00 sec)

 

mysql > \s

...

Server characterset:    utf8

Db     characterset:    utf8

Client characterset:    utf8

Conn.  characterset:    utf8

...

 

 

另一種情況,可以永久生效字符集,方法如下:

 

對於中文亂碼問題,需要設置mysql字符集:

用find命令查找cnf文件。記得不要去找my.cnf因爲它不一定存在,而應該找*.cnf。

# find / -name '*.cnf'

/usr/share/doc/MySQL-server-5.5.27/my-huge.cnf

/usr/share/doc/MySQL-server-5.5.27/my-large.cnf

/usr/share/doc/MySQL-server-5.5.27/my-medium.cnf

/usr/share/doc/MySQL-server-5.5.27/my-small.cnf

/usr/share/doc/MySQL-server-5.5.27/my-innodb-heavy-4G.cnf

/usr/share/doc/kpathsea-2007/kpathsea_defaults/texmf-kpathsea-defaults.cnf

/usr/share/mysql/my-huge.cnf

/usr/share/mysql/my-large.cnf

/usr/share/mysql/my-medium.cnf

/usr/share/mysql/my-small.cnf

/usr/share/mysql/my-innodb-heavy-4G.cnf

/etc/pki/tls/openssl.cnf

 

找到之後,複製一個出來

# cp /usr/share/mysql/my-huge.cnf  /etc/my.cnf

 

打開my.cnf修改編碼

 

# vi /etc/my.cnf

mysql5.5以下:

在[mysqld]下添加

default-character-set=utf8

在[client]下添加

default-character-set=utf8

 

mysql 5.5 改爲:

[client]
default-character-set = utf8
[mysqld]
character-set-server = utf8

 

然後重啓mysql

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章