查看編碼
可以輸入:show character set
,來查看編碼集
如果要查看表的編碼漠烧,其和引擎的內(nèi)容查看方法一樣杏愤,可以通過下面命令查看:
mysql> show create table xxx;
#查看某個表的SQL創(chuàng)建語句,里面有編碼設(shè)置代碼
mysql> show table status\G
#查看所有表的各種參數(shù)已脓,其中包括編碼
設(shè)置編碼
(1)默認(rèn)設(shè)置
修改my.ini
文件配置:
default-character-set=utf8
改成自己想要的編碼(在mysql中utf8
沒有-
)
(2)建庫時設(shè)置
在建庫語句的最后加上:character set 編碼
珊楼,舉例:
create database test1 character set utf8
(3)建表時設(shè)置
在建表語句的最后加上:charset=編碼
,舉例:
CREATE TABLE `peoples` (
`username` varchar(45)
) ENGINE=InnoDB charset=utf8;
(4)修改編碼
對于已經(jīng)建好的表度液,可以通過輸入:
alter table 表名 charset=編碼;
來修改數(shù)據(jù)表對應(yīng)的引擎厕宗,舉例:
alter table peoples charset=utf8;
校對編碼
對于編碼有對應(yīng)的校驗(yàn)碼,其必須匹配才能校對堕担,前面的命令:show character set
已慢,不只顯示了支持的編碼,在Default collation
這列還顯示了每個編碼對應(yīng)的校對編碼霹购。
如果要看表的校對編碼可以下面命令查看:
mysql> show table status\G
設(shè)置校對編碼
在建表的后面加上:collate=校對編碼
佑惠,即可,舉例:
Create Table: CREATE TABLE `peoples` (
`username` varchar(45)
) ENGINE=InnoDB charset=utf8 collate= utf8_general_ci;
#這里用utf8和utf8_general_ci是一堆匹配的編碼和校對編碼齐疙,如果不匹配則會報(bào)錯
校對規(guī)則
例如utf8_bin
是區(qū)分大小寫的兢仰,utf8_general_ci
是不區(qū)分大小寫的,所以校對規(guī)則是影響字符串間比較和排序的算法