使mysql
支援中文
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=utf82、在
[mysqld]
欄位裡加入下面紅色三句,如下:
[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
default-storage-engine=innodb
character-set-server=utf8
collation-server=utf8_general_ci3、在
[mysql]
欄位裡加入
default-character-set=utf8
,如下:
[mysql]
no-auto-rehash
default-character-set=utf8
修改完成後,
service mysql restart
重啟mysql
服務就生效。注意:在較新版的
mysq
中,[mysqld]
欄位與[mysql]
欄位是有區別的。
使用show variables like 'character%';
檢視,發現資料庫編碼全已改成
、如果上面的都修改了還亂碼,那剩下問題就一定在
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
如何使Linux支援中文字元
linux支援中文配置 首先編輯 etc sysconfig i18n 這個檔案,不管你裝的是中文版 還是英文版 刪掉原來的配置 把下面的拷貝過去 lang zh cn.gb18030 supported zh cn.gb18030 zh cn zh en us.utf 8 en us en sys...
MySQL支援中文
1.修改資料庫編碼格式為utf8 推薦 create database db name default character set utf8 2.修改表的編碼格式為utf8 不推薦 在建立表後,插入資料之前,將表的編碼格式設定成utf8 alter table table name convert ...
MySQL中文支援
mysql中資料型別varchar n 占用的最長位元組是3 n.我們知道utf 8編碼1個漢字佔3個位元組.即 varchar n 最多可以容納3個英文本元或者3個漢字,當然混合的 如1個漢字2個字母 也行.安裝mysql預設的編碼是latin,修改 mysql安裝目錄下的my.cnf檔案,我的u...