檢視字符集相關變數
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 資料庫...