關於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 變數說明MySql變數
- MySQL環境變數裡關於字符集character_set相關引數的解釋MySql變數
- 【AMM】關於ASM中AMM引數說明ASM
- MySQL:關於ICP特性的說明(未完)MySql
- Oracle中的替換變數,&變數名,&&變數名說明Oracle變數
- mysql innodb相關引數說明MySql
- 幾個和MySQL InnoDB相關的引數設定說明MySql
- 關於two_task,local,oracle_sid三個環境變數說明Oracle變數
- mysql relay log相關引數說明MySql
- 再說mysql中的變數賦值MySql變數賦值
- MySQL引數說明MySql
- Oracle中關於PCTFREE和PCTUSED的說明Oracle
- 關於GeoWebCache的部署說明Web
- MySQL 5.7 自增欄位相關引數說明MySql
- 關於PGA_AGGREGATE_TARGET的引數說明
- 關於AIX上VMO調整引數的若干說明AI
- 關於DOCTYPE的使用和說明
- 關於NTP SERVER的配置說明Server
- 關於DedeCMS版本號的說明
- Shell常用的特殊位置引數變數說明變數
- MySQL:關於排序order by limit值不穩定的說明(1)MySql排序MIT
- 【MYSQL】MHA引數列表說明MySql
- Mysql JDBC Url引數說明MySqlJDBC
- 關於DSS中的繫結變數變數
- 關於批處理中的變數變數
- java中關於如何執行jar格式程式的說明JavaJAR
- 前端元件wolfTable中關於表格凍結部分的說明前端元件
- MySQL中關於Qustions計算的改變MySql
- linux 的display變數的具體說明!Linux變數
- 【MySQL】SemisynchronousReplication配置和引數說明MySql
- MySQL CMake引數說明手冊MySql
- 關於ThreadLocal變數的一個坑thread變數
- 【AMM】關於資料庫例項AMM引數說明資料庫
- 關於pl/sql中的繫結變數SQL變數
- MySQL mysqldump命令的引數詳細說明MySql
- 關於 navigator.mediaDevices.getUserMedia 的輸入引數說明dev
- 關於支援OPenACC的編譯器說明編譯
- java 關於操作Collection的一點說明Java