關於MySQL字符集和校對集問題

2022-08-25 14:30:26 字數 1735 閱讀 3789

mysql是c/s結構軟體: 客戶端 ----> 服務端(資料)

資料是由客戶端進入到服務端 ---> 服務端將資料顯示給客戶端

如果客戶端的資料進入到服務端的時候,兩端的字符集不一樣: 資料沒有辦法被正常理解(操作中斷)

原因: 客戶端的資料的字符集是gbk(乙個漢字兩個位元組), 但是伺服器端一定不是gbk

檢視伺服器所支援的所有字符集: show character set;

檢視mysql伺服器預設的接收資料的字符集: show variables like 『character_set%』;

客戶端不能插入中文資料的原因: 客戶端是gbk, 服務端認為的客戶端是utf8:

客戶端是不能改變(固定是gbk): 修改服務端認為的客戶端的字符集(服務端支援很多字符集)

再次插入中文資料

檢視資料

原因: 客戶端是gbk,而服務端認為客戶端可以解析的字符集utf8: character_set_results

修改服務端認為的客戶端的解析字符集為gbk

凡是使用set character_set_client%修改都是臨時的(會話級別): 當前使用者當次連線有效(關閉連線就失效)

有一種快捷方式能夠直接一次性修改多個伺服器端的預設的外部字符集

set names 字符集;

校對: 本身的比較的意思: 校對集是一種比較的集合: 當資料進行比較的時候,會自動使用校對集來進行驗證,從而實現比較效果.

檢視所有校對集: 乙個字符集會有多個校對集

校對集分為三種

比較: 兩張表一張使用_bin一張使用_ci

插入資料

比較資料: 使用order by對欄位進行排序: 比較的過程(校對集)

order by 欄位名 [asc|desc]; asc是預設的: 公升序; desc是降序

校對集必須在表一開始的時候就設定好: 後期修改無效(如果表中已經有資料)

mysql字符集校對 MySql 字符集和校對

字符集是指一種從二進位制編碼到某類字元符號的對映,校對是指一組用於某個字符集的排序規則。而且每一類編碼字元都有其對應的字元集合校對規則。mysql 基本資訊 mysql支援多種字符集,咱們能夠經過use the information schema character sets table or t...

MySQL 字符集和校對

字符集是指一種從二進位制編碼到某類字元符號的對映,校對是一組用於某個字符集的排序規則。每一類編碼字元都有其對應的字符集和校對規則 每種字符集都可能有多種校對規則,並且都有乙個預設的校對規則。每個校對規則都是針對某個特定的字符集的,和其他的字符集都沒有關係。校對規則和字符集總是一起使用的,我們也將這樣...

mysql 字符集與校對集

字符集與校對集 mysql的字符集設定非常靈活 可以設定伺服器預設字符集 資料庫預設字符集 表預設字符集 列字符集 如果某乙個級別沒有指定字符集,則繼承上一級 以表宣告utf8為例,儲存的資料在表中,最終是utf8 1.告訴伺服器,我給你傳送的資料是什麼編碼?set characer set cli...