編碼:計算機都是二進制存儲,因此需要將顯示符號轉換成二進制數才能存儲,每個字符所轉換成的二進制數,就是字符編碼。
字符用於顯示的抽象符號。字符集是一套字符與字符編碼的集合。
常見的字符集編碼:
Ascii字符集,GB2312字符集,gbk字符集,latin1字符集,unicode字符集等。
show character set;可以獲得MySQL支持的所有字符集。
修改數據庫字符集
alter database liguodong character set utf8;
MySQL可以使用多種字符集保存數據。
MySQL可以針對字段,表,數據庫,服務器進行字符集的設置,還可以設定連接字符集(客戶端與服務器端交互時)。
編碼相關變量的含義:
可以在my.ini中:character-set-server=utf8修改服務器的編碼設置。<喎?http://www.Bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vcD4NCjxwPjxzdHJvbmc+t/7O8cb319a3+7yvo7o8L3N0cm9uZz48YnIgLz4NCjxpbWcgYWx0PQ=="" src="http://www.bkjia.com/uploads/allimg/150802/0415015M0-1.png" title="\" />
連接字符集:
每一套編碼字符集都有與之相關的校對規則。校對規則指的是當前字符集內,字符之間的比較關系。
每個字符集都提供一個或多個校對規則。
通常的命名規則是:字符集_語言名_ci|cs|bin
常見的ci不區分大小寫。cs區分大小寫,bin字節比較。
查看校對規則指令:
show collation;
show collation like 'gbk%';
在設置字符集的時候,可以設置當前字符集所采用的校對規則。不過不設置校對規則,那麼每一個字符集,都有一個默認的校對規則。
以gbk為例,比較chinese_ci,bin之間的區別
create table tab3(
name varchar(10)
) character set gbk collate gbk_chinese_ci;
create table tab4(
name varchar(10)
) character set gbk collate gbk_bin;
默認是gbk_chinese_ci,所以不會顯示字符集。
show create table tab3\G
show create table tab4\G
insert into tab3 values('a');
insert into tab3 values('B');
insert into tab3 values('c');
insert into tab4 values('a');
insert into tab4 values('B');
insert into tab4 values('c');
影響數據的保存,字符集。
影像數據的比較,校對集。