每次利用終端 建立資料庫或者建立表的時候,字符集都是latin1,或者進行插入值的時候,顯示的是亂碼(不指定字符集的時候)如下:
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 'collwww.cppcns.comation%';
引數檔案中,client,mysql以及mysqld中都設定了utf8mb4字符集,但是沒有設定collation相關引數
collation_connection 當前連線的字符集。
collation_database 當前日期的預設校對,每次用use語句來「跳轉」到另乙個資料庫的時候,這個變數的值就會改變。如果沒有當前資料庫,這個變數的值就是collation_server變數的值。
collation_server 伺服器的預設校對。
排序方式的命名規則為:字符集名字_語言_字尾,awbpthnoi其中各個典型字尾的含義如下:
1)_ci:不區分大小寫的排序方式
2)_cs:區分大小寫的排序方式
3)_bin:二進位制排序方式,大小比較將根據字元編碼,不涉及人類語言,因此_bin的排序方式不包含人類語言
create database rommel de程式設計客棧fault charset utf8 collate utf8_romanian_ci;
引數檔案中[mysqld]新增以下
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
進行資料庫的重啟後測試。
一系列測試,修改成功。
所以在安裝的時候,就要進行引數修改,不可能安裝好了在對資料庫進行編譯, 如果生產不能進行資料庫的重啟,除了新建每張表和資料庫指定寫死之外,就只能臨時指定字符集了。
臨時指定:
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的字符集有4種級別的設定,分別是 伺服器級 資料庫級 表級 字段級。一 伺服器級字符集 1 可以在my.cnf中設...
mysql字符集設定
show variables like char show variables like collation 2.修改編碼 set variable name value set character set connection utf8 3 顯示建立資料庫資訊 show create databa...
mysql 字符集設定
1.檢視mysql能夠支援的多種字符集 show character set 檢視mysql能夠支援的字符集的校對規則 show collation show collation like utf8 2.檢視當前字符集及校對 show variables like character set sho...