MySQL字元集

來源:互聯網
上載者:User

MySQL字元集包括字元集(character)和(collation)兩個概念。字元集是用來定義MySQL儲存字串的規則,校對規則則是定義了比較字串的方式。字串和校對規則是一對多的>關係。使用命令:show collation like 'gbk';可查看相關的校對規則;使用:show character set;查看所有可用的字元集。
校對規則命名規範:它們以其相關的字元集開頭,通常包括一個語言名,以一個_ci(不區分大小寫)、_cs(大小寫敏感)或_bin(二元,即比較是基於字元集編碼的值而與language無關)結束。
MySQL的字元集和校對規則有4個層級的預設值:伺服器級、資料庫級、表級和欄位級。
伺服器字元集設定(預設為:latin1作為伺服器字元集):
        在my.cnf中設定:default-character-set=gbk
        在伺服器啟動時指定:mysqld --default-character-set=gbk
        在編譯的時候制定:./configure --with-character=gbk
使用命令:show variables like 'character_set_server';查看當前伺服器使用的字元集和校對規則。
資料庫的字元集和校對規則在建立資料庫的時候指定,也可以在建立完資料庫後通過'alter table'命令進行修改。需要注意的是修改資料庫字元集不會更改已經存在的資料的字元
集。命令:show variables like 'chaacter_set_database';查看資料庫當前使用的字元集。
表字元集和校對值:表的字元集可在床家表時指定,也可以通過alter table命令進行修改,同樣,如果表中已有記錄,修改字元集對原有的記錄並沒有應吸納個。
列字元集和校對:MySQL同時支援對列層級的字元集進行定義,可以針對相同表的不同欄位分別定義字元集和校對規則。
連結字元集和校對規則
    在實際的應用訪問中,還存在用戶端和伺服器之間的字元集和校對規則的設定。
    對於用戶端和伺服器的互動操作,MySQL提供了3個不同的參數:character_set_client、character_set_connection和character_set_results,分別代表用戶端、連結和返回
結果的字元集,通常情況下,這3個字元集應該是相同的,才可以確保使用者寫入的資料能夠正確讀取出來。
    命令:set names ***;可以用來同時修改這3個參數的值。使用這個方法修改連結的字元集和校對規則,需要應用每次連結資料庫後都執行這個命令。
    在設定檔my.cnf中通過設定:default-character-set=gbk 這樣伺服器啟動後,所有連結預設就是使用GBK字元集進行連結。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.