關於MySQL中的8個 character_set 變數說明
版權宣告:本文為 小異常 原創文章,非商用自由轉載-保持署名-註明出處,謝謝!
本文網址:https://blog.csdn.net/sun8112133/article/details/79921734
本篇會簡單介紹在 MySQL 中關於 8個 character_set 變數的基本作用。
使用下列SQL語句可以檢視 MySQL中8個 character_set 變數
SHOW VARIABLES LIKE '%char%';
8個 character_set 變數:
一、character_set_client
二、character_set_connection
三、character_set_database
四、character_set_filesystem
五、character_set_results
六、character_set_server
七、character_set_system
八、character_sets_dir
一、character_set_client
主要用來設定客戶端使用的字符集。
二、character_set_connection
主要用來設定連線資料庫時的字符集,如果程式中沒有指明連線資料庫使用的字符集型別則按照這個字符集設定。
三、character_set_database
主要用來設定預設建立資料庫的編碼格式,如果在建立資料庫時沒有設定編碼格式,就按照這個格式設定。
四、character_set_filesystem
檔案系統的編碼格式,把作業系統上的檔名轉化成此字符集,即把 character_set_client轉換character_set_filesystem, 預設binary是不做任何轉換的。
五、character_set_results
資料庫給客戶端返回時使用的編碼格式,如果沒有指明,使用伺服器預設的編碼格式。
六、character_set_server
伺服器安裝時指定的預設編碼格式,這個變數建議由系統自己管理,不要人為定義。
七、character_set_system
資料庫系統使用的編碼格式,這個值一直是utf8,不需要設定,它是為儲存系統後設資料的編碼格式。
八、character_sets_dir
這個變數是字符集安裝的目錄。
在啟動mysql後,我們只關注下列變數是否符合我們的要求
- character_set_client
- character_set_connection
- character_set_database
- character_set_results
- character_set_server
下列三個系統變數我們不需要關心,不會影響亂碼等問題
- character_set_filesystem
- character_set_system
- character_sets_dir
更改以上字符集直接 set character_set_XXX = “gbk”;(XXX是寫以上的變數名)
藉助網上的一個完整的使用者請求的字符集轉換流程來更好的理解上述幾個變數:
- mysql Server收到請求時將請求資料從 character_set_client 轉換為 character_set_connection
- 進行內部操作前將請求資料從 character_set_connection 轉換為內部操作字符集,步驟如下
A. 使用每個資料欄位的 CHARACTER SET 設定值;
B. 若上述值不存在,則使用對應資料表的字符集設定值
C. 若上述值不存在,則使用對應資料庫的字符集設定值;
D. 若上述值不存在,則使用 character_set_server 設定值。 - 最後將操作結果從內部操作字符集轉換為 character_set_results
相關文章
- MySQL:關於ICP特性的說明(未完)MySql
- mysql relay log相關引數說明MySql
- 關於xtrabackup --slave-info引數的說明
- 關於 Jupyter 的使用說明
- MySQL:關於排序order by limit值不穩定的說明(1)MySql排序MIT
- 關於DedeCMS版本號的說明
- 關於 navigator.mediaDevices.getUserMedia 的輸入引數說明dev
- GBase8a中tableid的位置、作用以及相關說明
- 前端元件wolfTable中關於表格凍結部分的說明前端元件
- 關於部落格更新說明
- 關於支援OPenACC的編譯器說明編譯
- GBase 8a中一個字元佔用位元組數說明字元
- 關於素數定理的證明
- MySQL:關於RR模式下insert..selcet sending data狀態說明MySql模式
- 記錄一個關於變數命名的事情變數
- Mysql my.cnf部分引數說明MySql
- Linux各個版本相關說明Linux
- keycloak~關於社群登入的過程說明
- MySQL中的@變數名MySql變數
- MariaDB/MySQL中的變數MySql變數
- 關於javascript中變數及函式的提升JavaScript變數函式
- 關於Numba的執行緒實現的說明執行緒
- 超級簡單的例子說明JAVA PACKET CLASS 和變數之間的關係Java變數
- MySQL Galera cluster叢集常用引數說明MySql
- 關於SAP ABAP字元變數和字串變數字元個數的一個知識點,和一個血案字元變數字串
- makefile中的一些引數說明
- CentOS8中systemd配置檔案說明CentOS
- MySql Binlog 說明 & Canal 整合MySql的更新異常說明 & MySql Binlog 常用命令彙總MySql
- 關於 UiPath Activities 中文手冊的一些說明UI
- 關於88e1111 phy模組的配置說明
- 關於js變數提升JS變數
- 關於JavaScript變數提升JavaScript變數
- 8個關於Python的小技巧Python
- 關於MySQL8的WITH查詢學習MySql
- MySQL中變數的定義和變數的賦值使用MySql變數賦值
- VBAP和VBEP的幾個數量欄位的說明
- mysql字符集說明MySql
- spring中的IOC說明Spring