標籤:style blog http color 使用 strong 檔案 資料
使MySQL支援中文
歡迎轉載,請保留出處:ZCShou http://blog.sina.com.cn/zcshou
MySQL 4.1及更高版本中,字元集的支援(Character Set Support)有兩個方面:字元集(Character set)和排序方式(Collation)。對於字元集的支援細化到四個層次: 伺服器(server),資料庫(database),資料表(table)和串連(connection)。
一、登入MySQL,使用SHOW VARIABLES LIKE ‘character%‘;查看當前使用的字元集,顯示如下:
character_set_database和character_set_server的預設字元集是latin1。
二、最簡單的完美修改方法,修改mysql的my.cnf檔案中的字元集索引值(注意配置的欄位細節):
1、在[client]欄位裡加入default-character-set=utf8,如下:
[client]
port = 3306
socket = /var/lib/mysql/mysql.sock
default-character-set=utf8
2、在[mysqld]欄位裡加入下面紅色三句,如下:
[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
default-storage-engine=INNODB
character-set-server=utf8
collation-server=utf8_general_ci
3、在[mysql]欄位裡加入default-character-set=utf8,如下:
[mysql]
no-auto-rehash
default-character-set=utf8
修改完成後,service mysql restart重啟mysql服務就生效。注意:在較新版的mysq中,[mysqld]欄位與[mysql]欄位是有區別的。
使用SHOW VARIABLES LIKE ‘character%‘;查看,探索資料庫編碼全已改成utf8。
4、如果上面的都修改了還亂碼,那剩下問題就一定在connection串連層上。解決方案是在發送查詢前執行一下下面這句(直接寫在SQL檔案的最前面):
SET NAMES ‘utf8‘;
5、使用show create database 資料庫名; 查看指定資料庫的編碼方式,如下:
修改指定資料庫的編碼:
mysql>user mydb;
mysql>alter database mydb character set utf8;
使用show create table 表名; 查看錶的編碼格式。如下:
設定預設編碼為utf8:
set names utf8;
設定資料庫db_name預設為utf8:
ALTER DATABASE `db_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
設定表tb_name預設編碼為utf8:
ALTER TABLE `tb_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
歡迎轉載,請保留出處:ZCShou http://blog.sina.com.cn/zcshou