《Mysql必讀mysql數據庫編碼與字符集的查看方法》要點:
本文介紹了Mysql必讀mysql數據庫編碼與字符集的查看方法,希望對您有用。如果有疑問,可以聯系我們。
MYSQL學習一、查看mysql數據庫的字符集
?
MYSQL學習show variables like 'character_set_%';
MYSQL學習輸出:
+--------------------------+--------+
MYSQL學習| variable_name??????????? | value? |
MYSQL學習+--------------------------+--------+
MYSQL學習| character_set_client???? | latin1 |
MYSQL學習| character_set_connection | latin1 |
MYSQL學習| character_set_database?? | latin1 |
MYSQL學習| character_set_filesystem | binary |
MYSQL學習| character_set_results??? | latin1 |
MYSQL學習| character_set_server???? | latin1 |
MYSQL學習| character_set_system???? | utf8?? |
MYSQL學習+--------------------------+--------+
MYSQL學習結合以下的編碼表發現當前的數據庫系統的編碼:
latin1_bin
西歐(多語言), 二進制
binary
二進制
MYSQL學習以上是在linux環境中的查看的結果編碼集了.
現在win平臺上面查看編碼集結果如:
?
MYSQL學習+--------------------------+--------+
MYSQL學習| variable_name??????????? | value? |
MYSQL學習+--------------------------+--------+
MYSQL學習| character_set_client???? | utf8?? |
MYSQL學習| character_set_connection | utf8?? |
MYSQL學習| character_set_database?? | utf8?? |
MYSQL學習| character_set_filesystem | binary |
MYSQL學習| character_set_results??? | utf8?? |
MYSQL學習| character_set_server???? | utf8?? |
MYSQL學習| character_set_system???? | utf8?? |
MYSQL學習+--------------------------+--------+
MYSQL學習為什么會出現不一致的情況呢?
在本機上面是顯示的utf-8.而在linux上面居然是latin1.
?
二、通過命令修改其編碼
MYSQL學習創建數據庫指定數據庫的字符集
?
MYSQL學習直接通過命令進行修改:
?
MYSQL學習set character_set_client=utf8;
MYSQL學習set character_set_connection=utf8;
MYSQL學習set character_set_database=utf8;
MYSQL學習set character_set_results=utf8;
MYSQL學習set character_set_server=utf8;
MYSQL學習修改完了之后再查詢:
?
MYSQL學習show variables like 'character_set_%';
MYSQL學習+--------------------------+--------+
MYSQL學習| variable_name??????????? | value? |
MYSQL學習+--------------------------+--------+
MYSQL學習| character_set_client???? | utf8?? |
MYSQL學習| character_set_connection | utf8?? |
MYSQL學習| character_set_database?? | utf8?? |
MYSQL學習| character_set_filesystem | binary |
MYSQL學習| character_set_results??? | utf8?? |
MYSQL學習| character_set_server???? | utf8?? |
MYSQL學習| character_set_system???? | utf8?? |
MYSQL學習+--------------------------+--------+
MYSQL學習結果全部都調整修改成utf-8了!
MYSQL學習修改完了之后我看select * from address_address; 出現亂碼了!django也亂碼
MYSQL學習三、辦理數據導入導出的亂碼問題
?
MYSQL學習#create database nginxdjango;
# use nginxdjango;
# show variables like 'character_set_%';
MYSQL學習#打印輸出
+--------------------------+--------+
| variable_name??????????? | value? |
+--------------------------+--------+
MYSQL學習| character_set_client???? | latin1 |
MYSQL學習| character_set_connection | latin1 |
MYSQL學習| character_set_database?? | latin1 |
MYSQL學習| character_set_filesystem | binary |
MYSQL學習| character_set_results??? | latin1 |
MYSQL學習| character_set_server???? | latin1 |
MYSQL學習| character_set_system???? | utf8?? |
MYSQL學習+--------------------------+--------+
MYSQL學習依舊是latin編碼的.
MYSQL學習將其編碼做如下設置:
?
MYSQL學習再查詢其編碼格式為:
?
MYSQL學習現在將數據導進來
source /python/django/sql/nginxdjango.sql;
其中的nginxdjango.sql 其編碼也是utf-8 格式的!
導進來 數據庫查看居然還是亂碼不過程序跑起來是正常了!
MYSQL學習mysql字符集編碼的類型種類
gb2312_chinese_ci和gbk_chinese_ci以及gb2312_bin,gbk_bin的區別
gb2312_chinese_ci : 只支持簡體中文
gb2312_bin?? :而gb2312_bin可以說是gb2312_chinese_ci的一個子集,
MYSQL學習而且gb2312_bin是二進制存儲.區分大小寫數據庫編碼格式就意義不一樣了
MYSQL學習gbk_chinese_ci?? 支持簡體中文和繁體
MYSQL學習gbk_bin?? 解釋同gb2312_bin???? 對應gbk_chinese_ci
MYSQL學習ps:gbk包含了簡體與繁體兩種類型
?
mysql中默認字符集的設置有四級:服務器級,數據庫級,表級 .最終是字段級 的字符集設置.注意前三種均為默認設置,并不代碼你的字段最終會使用這個字符集設置.所以我們建議要用show create table table ; 或show full fields from tablename; 來檢查當前表中字段的字符集設置.
MYSQL學習mysql 中關于連接環境的字符集設置有? client端,connection, results 通過這些參數,mysql就知道你的客戶端工具用的是什么字 符集,結果集應該是什么字符集.這樣mysql就會做必要的翻譯,一旦這些參數有誤,自然會導致字符串在轉輸過程中的轉換錯誤.基本上99%的亂碼由些造 成.
MYSQL學習1,數據庫表中字段的字符集設置 .
?
MYSQL學習2,查看數據庫的編碼格式
?
MYSQL學習3,當前聯接系統參數
?
MYSQL學習1. 中文,請確保 表中該字段的字符集為中文兼容:
?big5???? | big5 traditional chinese
?gb2312?? | gb2312 simplified chinese
?gbk????? | gbk simplified chinese
?utf8???? | utf-8 unicode
[其它補充]
修改數據庫的字符集
?
MYSQL學習創建數據庫指定數據庫的字符集
?
MYSQL學習而這三項是可以通過set names utf8|set names gbk來設置的.
只是說明當前連接的客戶端的編碼情況并沒有影響到數據庫服務器自己的編碼情況.
歡迎參與《Mysql必讀mysql數據庫編碼與字符集的查看方法》討論,分享您的想法,維易PHP學院為您提供專業教程。
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/7441.html