Mysql数据中文乱码问题处理
生活随笔
收集整理的這篇文章主要介紹了
Mysql数据中文乱码问题处理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019獨角獸企業重金招聘Python工程師標準>>>
MYSQL數據庫中的字符集設置
在創建數據庫和數據表的時候,可以選擇對應字符編碼方式,如utf8,gbk,gb2312等等。也可以在后面修改表的Collation配置。
所以數據表的Collation配置必須能夠表示表中的中文字符,這是最基本的要求。然后字符必須是使用該Collation兼容的字符集來編碼的,這樣才能正常顯示和被mysql處理。
字符集配置變量
可以通過如下命令查看字符集變量值:
show variables like 'char%';character_set_client utf8 character_set_connection utf8 character_set_database utf8 character_set_filesystem binary character_set_results utf8 character_set_server utf8 character_set_system utf8 character_sets_dir D:\HwsApacheMaster\mysql\share\charsets\SHOW VARIABLES LIKE 'collation%';# Variable_name, Value collation_connection, utf8_general_ci collation_database, utf8_general_ci collation_server, utf8_general_ci這些變量的含義和作用,參見官方文檔解釋: Connection Character Sets and Collations。
中文亂碼的基本原因:
- character_set_client:客戶端的字符集
- character_set_results:結果字符集
- character_set_connection:連接字符集
這三個系統參數的作用:
- 信息輸入路徑: client--connection--server--database (數據傳送方向從左到右,server負責解釋和轉換)
- 信息輸出路徑: database--server--connection--results (數據傳送方向從左到右,server負責轉換和輸出)
故這幾個系統參數的值須相同,不然以不同的編碼方式傳送數據,若編碼方式不兼容,則容易造成亂碼的問題。
客戶端通過如下類似命令可以修改上述三個參數的字符集值:
set names gb2312;但是該命令無法修改character_set_server變量的值,因此需要注意是否匹配一致。
轉載于:https://my.oschina.net/shelllife/blog/1830184
總結
以上是生活随笔為你收集整理的Mysql数据中文乱码问题处理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【转载】android客服端+eps82
- 下一篇: PostgreSQL 10.1 手册_部