編碼:計算機都是二進位制儲存,因此需要將顯示符號轉換成二進位制數才能儲存,每個字元所轉換成的二進位制數,就是字元編碼。
字元用於顯示的抽象符號。字符集是一套字元與字元編碼的集合。
常見的字符集編碼:
ascii字符集,gb2312字符集,gbk字符集,latin1字符集,unicode字符集等。
show character set;可以獲得mysql支援的所有字符集。
修改資料庫字符集
alter database liguodong character set utf8;
mysql可以使用多種字符集儲存資料。
mysql可以針對字段,表,資料庫,伺服器進行字符集的設定,還可以設定連線字符集(客戶端與伺服器端互動時)。
編碼相關變數的含義:
可以在my.ini中:character-set-server=utf8修改伺服器的編碼設定。
伺服器字符集:
連線字符集:
每一套編碼字符集都有與之相關的校對規則。校對規則指的是當前字符集內,字元之間的比較關係。
每個字符集都提供乙個或多個校對規則。
通常的命名規則是:字符集_語言名_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');
影響資料的儲存,字符集。
影像資料的比較,校對集。
mysql字符集和校對規則 Mysql校對集
簡要說明 字符集和校對規則 字符集是一套符號和編碼。校對規則是在字符集內用於比較字元的一套規則。mysql在collation提供較強的支援,oracel在這方面沒查到相應的資料。校對規則一般分為兩類 binary collation,二元法,直接比較字元的編碼,可以認為是區分大小寫的,因為字符集中...
mysql字符集和校對規則 Mysql校對集
字符集的概念大家都清楚,校對規則很多人不了解,一般資料庫開發中也用不到這個概念,mysql在這方便貌似很先進,大概介紹一下 簡要說明 字符集和校對規則 字符集是一套符號和編碼。校對規則是在字符集內用於比較字元的一套規則。mysql在collation提供較強的支援,oracel在這方面沒查到相應的資...
MySQL字符集和校對規則
本文對mysql支援的常規字符集和校對規則作了乙個簡單的說明,並介紹了mysql常用字符集變數的含義和設定,字符集變數的不恰當設定有可能導致包括亂碼在內的諸多問題。字符集是一套符號和編碼。校對規則是在字符集內用於比較字元的一套規則。mysql 伺服器能夠支援多種字符集,可以使用 show chara...