天天看點

mysql中設定字元集語句_MYSQL字元集設定的方法詳解(終端的字元集)

前言

每次利用終端 建立資料庫或者建立表的時候,字元集都是latin1,或者進行插入值的時候,顯示的是亂碼(不指定字元集的時候)如下:

mysql中設定字元集語句_MYSQL字元集設定的方法詳解(終端的字元集)
mysql中設定字元集語句_MYSQL字元集設定的方法詳解(終端的字元集)

檢視目前資料庫的字元集

mysql中設定字元集語句_MYSQL字元集設定的方法詳解(終端的字元集)

character_set_client:用戶端請求資料的字元集

character_set_connection:客戶機/伺服器連接配接的字元集

character_set_database:預設資料庫的字元集,無論預設資料庫如何改變,都是這個字元集;如果沒有預設資料庫,那就使用 character_set_server指定的字元集,這個變量建議由系統自己管理,不要人為定義。

character_set_filesystem:把os上檔案名轉化成此字元集,即把 character_set_client轉換character_set_filesystem, 預設binary是不做任何轉換的

character_set_results:結果集,傳回給用戶端的字元集

character_set_server:資料庫伺服器的預設字元集

character_set_system:系統字元集,這個值總是utf8,不需要設定。這個字元集用于資料庫對象(如表和列)的名字,也用于存儲在目錄表中的函數的名字。

檢視目前資料庫的校對規則

show variables like 'collation%';

mysql中設定字元集語句_MYSQL字元集設定的方法詳解(終端的字元集)

參數檔案中,client,mysql以及mysqld中都設定了utf8mb4字元集,但是沒有設定collation相關參數

mysql中設定字元集語句_MYSQL字元集設定的方法詳解(終端的字元集)

collation_connection 目前連接配接的字元集。

collation_database 目前日期的預設校對,每次用USE語句來“跳轉”到另一個資料庫的時候,這個變量的值就會改變。如果沒有目前資料庫,這個變量的值就是collation_server變量的值。

collation_server 伺服器的預設校對。

排序方式的命名規則為:字元集名字_語言_字尾,其中各個典型字尾的含義如下:

1)_ci:不區分大小寫的排序方式

2)_cs:區分大小寫的排序方式

3)_bin:二進制排序方式,大小比較将根據字元編碼,不涉及人類語言,是以_bin的排序方式不包含人類語言

create database rommel default charset utf8 collate utf8_romanian_ci;

mysql中設定字元集語句_MYSQL字元集設定的方法詳解(終端的字元集)

參數檔案中[mysqld]添加以下

[mysqld]

character-set-server=utf8mb4

collation-server=utf8mb4_general_ci

進行資料庫的重新開機後測試。

mysql中設定字元集語句_MYSQL字元集設定的方法詳解(終端的字元集)
mysql中設定字元集語句_MYSQL字元集設定的方法詳解(終端的字元集)
mysql中設定字元集語句_MYSQL字元集設定的方法詳解(終端的字元集)

一系列測試,修改成功。

是以在安裝的時候,就要進行參數修改,不可能安裝好了在對資料庫進行編譯, 如果生産不能進行資料庫的重新開機,除了建立每張表和資料庫指定寫死之外,就隻能臨時指定字元集了。

臨時指定:

SET character_set_client = utf8mb4;

SET character_set_connection = utf8mb4;

SET character_set_database = utf8mb4;

SET character_set_results = utf8mb4;

SET character_set_server = utf8mb4;

mysql中設定字元集語句_MYSQL字元集設定的方法詳解(終端的字元集)

總結

到此這篇關于MYSQL字元集設定(終端的字元集)的文章就介紹到這了,更多相關MYSQL字元集設定(終端的字元集)内容請搜尋腳本之家以前的文章或繼續浏覽下面的相關文章希望大家以後多多支援腳本之家!