以下均在mysql 5.5命令行中運(yùn)行通過:
查看MySQL支持的字符集:
show charset;
查看字符集:
status
下面的更具體:
SHOW VARIABLES LIKE 'character_set_%';
查看排序方式:
SHOW VARIABLES LIKE 'collation_%';
數(shù)據(jù)庫建立時(shí)候一般會使用默認(rèn)的字符集,除非在建立的時(shí)候指定:
CREATE DATABASE [db-name] CHARACTER SET utf8 COLLATE utf8_general_ci;
建立table時(shí)候指定字符集:
create table [table-name] (id int not null ) default charset utf8;
查看database使用的字符集:
方法1:找到存放數(shù)據(jù)庫的目錄,進(jìn)入相應(yīng)database的目錄,查看db.opt文件。
方法2:
show create database [db-name];
查看表的字符集:
show create table [table-name];
查看數(shù)據(jù)庫中每個表的字符集:
show table status from [db-name];
如果每一列后未說明字符集,則列的字符集和表一樣。
也可以指定某個表:
show table status from [db-name] like '%filter%';
查看表中每一列的字符集:
show full columns from [table-name];
或者
show table status from [db-name];
修改數(shù)據(jù)庫字符集:
ALTER DATABASE [db-name] DEFAULT CHARACTER SET [character-name] COLLATE [collation-name];
修改表和列(字段)的字符集:
ALTER TABLE [table-name] CONVERT TO CHARACTER SET [character-name] COLLATE [collation-name];
只是修改表的字符集:
ALTER TABLE [table-name] DEFAULT CHARACTER SET [character-name] COLLATE [collation-name];
其他: 可以修改mysql的默認(rèn)字符集為自己需要的字符集,如utf-8,建表的時(shí)候表的字符集默認(rèn)使用數(shù)據(jù)庫的字符集。不過,個人覺得更好的方式是,在建立數(shù)據(jù)庫時(shí)候制定數(shù)據(jù)庫使用的字符集,我們在編寫程序時(shí)候,也不要忽略這個查詢:
SET NAMES 'utf8';