Liunx下修改MySQL字符集:
創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比廣安網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式廣安網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋廣安地區(qū)。費(fèi)用合理售后完善,十年實(shí)體公司更值得信賴。
1.查找MySQL的cnf文件的位置
find / -iname '*.cnf' -print
/usr/share/mysql/my-innodb-heavy-4G.cnf
/usr/share/mysql/my-large.cnf
/usr/share/mysql/my-small.cnf
/usr/share/mysql/my-medium.cnf
/usr/share/mysql/my-huge.cnf
/usr/share/texmf/web2c/texmf.cnf
/usr/share/texmf/web2c/mktex.cnf
/usr/share/texmf/web2c/fmtutil.cnf
/usr/share/texmf/tex/xmltex/xmltexfmtutil.cnf
/usr/share/texmf/tex/jadetex/jadefmtutil.cnf
/usr/share/doc/MySQL-server-community-5.1.22/my-innodb-heavy-4G.cnf
/usr/share/doc/MySQL-server-community-5.1.22/my-large.cnf
/usr/share/doc/MySQL-server-community-5.1.22/my-small.cnf
/usr/share/doc/MySQL-server-community-5.1.22/my-medium.cnf
/usr/share/doc/MySQL-server-community-5.1.22/my-huge.cnf
2. 拷貝 small.cnf、my-medium.cnf、my-huge.cnf、my-innodb-heavy-4G.cnf其中的一個(gè)到/etc下,命名為my.cnf
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
3. 修改my.cnf
vi /etc/my.cnf
在[client]下添加
default-character-set=utf8
在[mysqld]下添加
default-character-set=utf8
4.重新啟動(dòng)MySQL
[root@bogon ~]# /etc/rc.d/init.d/mysql restart
Shutting down MySQL [ 確定 ]
Starting MySQL. [ 確定 ]
[root@bogon ~]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.22-rc-community-log MySQL Community Edition (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
如果用戶想改變表的默認(rèn)字符集和所有的字符列的字符集到一個(gè)新的字符集,使用下面的語(yǔ)句:
ALTER
TABLE
tbl_name
CONVERT
TO
CHARACTER
SET
charset_name;警告:上述操作是在字符集中轉(zhuǎn)換列值。如果用戶在字符集(如
gb2312)中有一個(gè)列,但存儲(chǔ)的值使用的是其它的一些不兼容的字符集(如
utf8),那么該操作將不會(huì)得到用戶期望的結(jié)果。在這種情況下,用戶必須對(duì)每一列做如下操作:
ALTER
TABLE
t1
CHANGE
c1
c1
BLOB;
ALTER
TABLE
t1
CHANGE
c1
c1
TEXT
CHARACTER
SET
utf8;
這樣做的原因是:從
BLOB
列轉(zhuǎn)換或轉(zhuǎn)換到
BLOB
列沒(méi)有轉(zhuǎn)換發(fā)生。
如果用戶指定以二進(jìn)制進(jìn)行
CONVERT
TO
CHARACTER
SET,則
CHAR、VARCHAR
和
TEXT
列將轉(zhuǎn)換為它們對(duì)應(yīng)的二進(jìn)制字符串類型(BINARY,VARBINARY,BLOB)。這意味著這些列將不再有字符集,隨后的
CONVERT
TO
操作也將不會(huì)作用到它們上。
如果僅僅改變一個(gè)表的缺省字符集,可使用下面的語(yǔ)句:
ALTER
TABLE
tbl_name
DEFAULT
CHARACTER
SET
charset_name;
DEFAULT是可選的。當(dāng)向一個(gè)表里添加一個(gè)新的列時(shí),如果沒(méi)有指定字符集,則就采用缺省的字符集(例如當(dāng)ALTER
TABLE
...
ADD
column)。
ALTER
TABLE
...
DEFAULT
CHARACTER
SET
和
ALTER
TABLE
...
CHARACTER
SET
是等價(jià)的,修改的僅僅是缺省的表字符集。
(1) 最簡(jiǎn)單的修改方法,就是修改mysql的my.ini文件中的字符集鍵值,
如 default-character-set = utf8
character_set_server = utf8
修改完后,重啟mysql的服務(wù),service mysql restart
使用 mysql SHOW VARIABLES LIKE 'character%';查看,發(fā)現(xiàn)數(shù)據(jù)庫(kù)編碼均已改成utf8
+--------------------------+---------------------------------+ | 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 | D:"mysql-5.0.37"share"charsets" | +--------------------------+---------------------------------+
(2) 還有一種修改mysql默認(rèn)字符集的方法,就是使用mysql的命令
mysql SET character_set_client = utf8 ; mysql SET character_set_connection = utf8 ; mysql SET character_set_database = utf8 ; mysql SET character_set_results = utf8 ; mysql SET character_set_server = utf8 ; mysql SET collation_connection = utf8 ; mysql SET collation_database = utf8 ; mysql SET collation_server = utf8 ;
一般就算設(shè)置了表的mysql默認(rèn)字符集為utf8并且通過(guò)UTF-8編碼發(fā)送查詢,你會(huì)發(fā)現(xiàn)存入數(shù)據(jù)庫(kù)的仍然是亂碼。問(wèn)題就出在這個(gè)connection連接層上。解決方法是在發(fā)送查詢前執(zhí)行一下下面這句:
SET NAMES 'utf8';
它相當(dāng)于下面的三句指令:
SET character_set_client = utf8; SET character_set_results = utf8; SET character_set_connection = utf8;
網(wǎng)頁(yè)標(biāo)題:mysql怎么轉(zhuǎn)字符集 MySQL 轉(zhuǎn)字符串
網(wǎng)頁(yè)網(wǎng)址:http://chinadenli.net/article12/hpeidc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供、網(wǎng)站策劃、品牌網(wǎng)站制作、App設(shè)計(jì)、搜索引擎優(yōu)化、動(dòng)態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
網(wǎng)頁(yè)設(shè)計(jì)公司知識(shí)