MYSQL中關於編碼問題

2021-07-12 03:00:36 字數 1146 閱讀 7470

我們需要使用mysql語句:show variables like 'char%';可查詢到當前的內容

character_set_client     | utf8 --> mysql把我們客戶端傳遞的資料都當成是utf8 也是給它傳遞utf8,如果我們傳遞的是gbk,那麼需要修改這個變數為gbk

character_set_connection | utf8

character_set_database   | utf8

character_set_results    | utf8 --> mysql傳送給客戶端的資料都是utf8的。客戶端用utf8編碼,如果客戶端使用gbk來編碼,那麼需要修改這個變數為gbk的。

character_set_server     | utf8

character_set_system     | utf8

character_set_client=utf8,無論客戶端傳送的是什麼編碼的資料,mysql都當成是utf8的資料!

> 若客戶端傳送的是gbk

> 伺服器會當成utf8對待

> 總結:必然亂碼!

處理問題的手段有兩種;

> 讓客戶端傳送utf8的資料(行不通)

> 把character_set_client修改為gbk

set character_set_client=gbk; --> 只在當前視窗內有效,也就是說,關閉視窗後,再開啟,又回到utf8了。

character_set_results=utf8,把資料用什麼編碼傳送給客戶端!

> 若伺服器傳送給客戶端的是utf8的資料

> 客戶端會把它當成gbk,因為我們的小黑屏,只能顯示gbk

> 總結:必然亂碼!

處理問題的手段有兩種:

> 讓伺服器傳送gbk的資料:set character_set_results=gbk

> 讓小黑屏使用utf8來解讀(行不通)

my.ini

在總配置檔案中進行配置,可以一勞永逸

在檔案中更改之後以後可以不用管這個問題

[client]

port=3306

[mysql]

default-character-set=gbk /*它可以一勞永逸!它可以修改三個變數:client、results、connection*/

關於mysql編碼問題

show variables like char 因為當初安裝時指定了字符集為utf8,所以所有的編碼都是utf8。l character set client 你傳送的資料必須與client指定的編碼一致!伺服器會使用該編碼來解讀客戶端傳送過來的資料 l character set connect...

mysql是否編碼 關於mysql編碼問題

1 檢視mysql編碼 show variables like char 因為當初安裝時指定了字符集為utf8,所以所有的編碼都是utf8。l character set client 你傳送的資料必須與client指定的編碼一致!伺服器會使用該編碼來解讀客戶端傳送過來的資料 l character...

mysql中的編碼問題 mysql編碼問題總結

網上查了一些mysql編碼相關的資料,在這裡整理下,不對的地方歡迎各位批評指正。character set server 預設的內部操作字符集 character set connection 連線層字符集 character set results 查詢結果字符集 character set da...