MySQL資料庫8(六)字元集

來源:互聯網
上載者:User

標籤:.com   unicode   set   character   字元   方式   cte   ike   集合   

字元集字元編碼概念

字元(character)是各種文字和符號的總稱,包括各國家文字、標識符號、圖形符號、數字等。

在電腦中所看到的任何內容都是字元構成的。

字元編碼(character code)是電腦針對各種符號,在電腦中的一種二進位儲存代號。

 

字元集概念

字元集(character set)是多個字元的集合,字元集種類比較多,每個字元集包含的字元個數不同。

 

常見字元集名稱:ASCII字元集、GB2312字元集、BIG5字元集、GB18030字元集、Unicode字元集等。

                                                 簡體中文         繁體中文

 

 

 

MySQL字元集設定

 

設定用戶端所有字元集

如果直接通過cmd下的mysql.exe進行中文資料插入,那麼可能會出錯。

 

出錯原因:

1、使用者是通過mysql.exe來操作mysqld.exe

2、真正的SQL執行時mysqld.exe來執行

3、mysql.exe將資料傳入mysqld.exe的時候,沒有告知其對應的符號規則(字元集),而mysqld也沒有能力自己判斷,就會使用自己預設的(字元集)

 

解決方案:mysql.exe用戶端在進行資料操作之前將自己使用的字元集告訴mysqld,cmd下mysql.exe預設的只有一個字元集:GBK。

 

 

mysql.exe如何告知mysqld.exe對應的字元集類型為gbk?

捷徑:set names 字元集;

 

深層原理:用戶端,服務端,串連層(show variables like ‘character_set%’)

 

mysql.exe 與mysqld.exe之間的處理關係一共分為三層:

用戶端傳入資料給服務端:client : character_set_client

服務端返回資料給用戶端:server : character_set_results

用戶端與服務端之間的串連:connection : character_set_connection

 

set names 字元集 的本質:就是一次打通三層關係的字元集,變得一致。

在系統中有三個變數來記錄著這三個關係對應的字元集:show variables like ‘character_set%’;

 

 

查看一個新的用戶端對應的字元集關係

 

 

修改伺服器端變數的值:

set 變數名 = 值;

set character_set_client = gbk;

重新進行資料插入和查看的結果:插入OK,但是查看亂碼。

 

 

修改結果字元集為gbk

 

 

connection只是為了更方便用戶端與服務端進行字元集轉換而設。

 

set names gbk:

set character_set_client = gbk; //為了讓服務端識別用戶端傳來的資料

set character_set_connection = gbk; //更好的協助用戶端與服務端之間進行字元集轉換

set character_set_results = gbk; //為了告訴用戶端服務端所有的返回的資料字元集

MySQL資料庫8(六)字元集

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.