mysql提示符詳解 MySQL字符集使用詳解

2021-10-17 06:45:38 字數 1995 閱讀 6702

檢視字符集相關變數

mysql> show variables like 'character%';

| variable_name | value |

| character_set_client | latin1 |

| character_set_connection | latin1 |

| character_set_database | latin1 |

| character_set_filesystem | binary |

| character_set_results | latin1 |

| character_set_server | latin1 |

| character_set_system | utf8 |

| character_sets_dir | c:\wamp\mysql\share\charsets\ |

mysql>showvariableslike'character%';

|variable_name|value|

|character_set_client|latin1|

|character_set_connection|latin1|

|character_set_database|latin1|

|character_set_filesystem|binary|

|character_set_results|latin1|

|character_set_server|latin1|

|character_set_system|utf8|

|character_sets_dir|c:\wamp\mysql\share\charsets\|

字符集轉換過程

客戶端——–字符集轉換器———–服務

gbk ————gbk-utf8-utf8———-utf8

gbk————-gbk-gbk-utf8———-utf8

客戶端要告訴服務端使用的編碼是什麼,然後沒有直接告訴伺服器而告訴「轉換器」

字符集轉換器收到客戶端資訊後檢視伺服器是什麼編碼,然後將客戶端傳來的字符集轉換成伺服器設定的字符集

伺服器向客戶端傳送資訊時也是先告訴「轉換器」

字符集變數解釋

character_set_client

客戶端字符集,連線mysql的客戶端程式的字符集,該變數告訴轉換器客戶端傳送的字符集。

character_set_connection

轉換器轉換要轉換成的字符集

character_set_server

服務端使用的字符集,存入資料時使用的字符集

character_set_results

查詢的結果是什麼編碼

推論:什麼時候會出現亂碼

1:client 什麼與實際不符,微軟命令提示符預設是gbk,如果設定成utf8就會出現亂碼

2:results與客戶端頁面不符的時候

什麼時候會丟失資料

connection和伺服器的字符集比client小時,會丟失資料,比如客戶端是utf8而轉換器是gbk

當客戶端是utf8 而服務端是 gbk時要設定

set character_set_client=utf8

set character_set_connection=gbk/utf8 這裡設定什麼都可以,因為最終轉換器會根據伺服器的型別進行轉換

set character_set_results=utf8

設定字符集變數

set names utf8 進入mysql設定所用的字符集

在my.conf中新增

[client]

default-character-set=utf8

[mysqld]

default-character-set=utf8

[client]

default-character-set=utf8

[mysqld]

default-character-set=utf8

**:

mysql提示符詳解 MySQL提示符含義

標籤 mysql 準備好接受新命令。說明 正常等待輸入的提示符。等待多行命令的下一行。說明 這是將乙個sql語句分多行輸入時的提示。前提是你輸入了乙個不以分號結尾的sql語句。等待下一行,等待以單引號 開始的字串的結束。說明 前面你應該是已經輸入了乙個單引號,並且此單引號沒有結束,系統等待你輸入另乙...

mysql提示符是什麼 MySQL提示符

下表顯示出可以看見的各個提示符並簡述它們所表示的mysql的狀態 提示符含義 mysql 準備好接受新命令。等待多行命令的下一行。等待下一行,等待以單引號 開始的字串的結束。等待下一行,等待以雙引號 開始的字串的結束。等待下一行,等待以反斜點 開始的識別符的結束。等待下一行,等待以 開始的注釋的結束...

mysql提示符建表 mysql的命令提示符

三 建立資料庫 1 create database 資料庫名 2 grant select,insert,update,delete,create,drop,alter on 資料庫名.to 資料庫名 localhost identified by 密碼 3 set password for 資料庫...