Mysql檢視編碼方式專題

2022-04-08 03:43:02 字數 4878 閱讀 6929

mysql檢視編碼方式專題

一、 檢視資料庫的字符集

show variables like 'character\_set\_%';

輸出:| 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   |

結合以下的編碼表我們發現當前的資料庫系統的編碼:

latin1_bin 

西歐(多語言), 二進位制

binary 

二進位制以上是我在linux環境中的檢視的結果編碼集了。我現在win平台上面檢視編碼集結果如:

| variable_name            | value  |

| 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   |

為什麼會出現不一致的情況呢?在我本機上面是顯示的utf-8.而在linux上面居然是

二、通過命令修改其編碼

建立資料庫指定資料庫的字符集

mysql>create database mydb character set utf-8;#直接指定其編碼

直接通過命令進行修改

set character_set_client=utf8;

set character_set_connection=utf8;

set character_set_database=utf8;

set character_set_results=utf8;

set character_set_server=utf8;

修改完了之後再查詢

show variables like 'character\_set\_%';

| variable_name            | value  |

| 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   |

結果全部都調整修改成utf-8了!

修改完了之後我看select * from address_address; 出現亂碼了!django也亂碼

三、解決資料匯入匯出的亂碼問題

#create database nginxdjango;

# use nginxdjango;

# show variables like 'character\_set\_%';

#列印輸出居然是如下

| 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   |

依舊是latin編碼的。

ok。我將其編碼設定一下

set character_set_client=utf8;

set character_set_connection=utf8;

set character_set_database=utf8;

set character_set_results=utf8;

set character_set_server=utf8;

再查詢一下其編碼格式為:+--------------------------+--------+

| variable_name            | value  |

| 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   |

現在將資料導進來

source /python/django/sql/nginxdjango.sql;

其中的nginxdjango.sql 其編碼也是utf-8 格式的!

導進來 資料庫檢視居然還是亂碼不過程式跑起來是正常了!

mysql字符集編碼的型別種類

gb2312_chinese_ci和gbk_chinese_ci以及gb2312_bin,gbk_bin的區別

gb2312_chinese_ci : 只支援簡體中文

gb2312_bin   :而gb2312_bin可以說是gb2312_chinese_ci的乙個子集,

而且gb2312_bin是二進位制儲存.區分大小寫資料庫編碼格式就意義不一樣了

gbk_chinese_ci   支援簡體中文和繁體

gbk_bin   解釋同gb2312_bin     對應gbk_chinese_ci

ps:gbk包括了簡體與繁體兩種型別

新篇:2010-03-09

mysql中預設字符集的設定有四級:伺服器級,資料庫級,表級 。最終是字段級 的字符集設定。注意前三種均為預設設定,並不**你的字段最終會使用這個字符集設定。所以我們建議要用show create table table ; 或show full fields from tablename; 來檢查當前表中字段的字符集設定。

mysql 中關於連線環境的字符集設定有  client端,connection, results 通過這些引數,mysql就知道你的客戶端工具用的是什麼字 符集,結果集應該是什麼字符集。這樣mysql就會做必要的翻譯,一旦這些引數有誤,自然會導致字串在轉輸過程中的轉換錯誤。基本上99%的亂碼由些造 成。

1. 資料庫表中字段的字符集設定 。show create table tablename 或show full columns from tablename

mysql> show create table t1;

mysql> show full columns from t1; 檢視列的編碼型別

3. 檢視資料庫的編碼格式

show create database test;

輸出:create database `test` /*!40100 default character set utf8 */

2. 當前聯接系統引數  show variables like 'char%'

mysql> show variables like 'char%';

1. 中文,請確保 表中該字段的字符集為中文相容:

big5     | big5 traditional chinese

gb2312   | gb2312 simplified chinese

gbk      | gbk simplified chinese

utf8     | utf-8 unicode

[其它補充]

修改資料庫的字符集

mysql>use mydb

mysql>alter database mydb character set utf-8;

建立資料庫指定資料庫的字符集

mysql>create database mydb character set utf-8;

2010-05-02 新新增進來

show variables like 'character\_set\_%'; 所檢視到了幾項中其中有這三項是受客戶端影響

character_set_client

character_set_connection

character_set_results     

而這三項是可以通過set names utf8|set names gbk來設定的!只是說明當前連線的客戶端的編碼情況並沒有影響到資料庫伺服器本身的編碼情況

mysql 檢視編碼方式

一 檢視資料庫的字符集 show variables like character set 輸出 variable name value character set client latin1 character set connection latin1 character set databas...

檢視修改mysql編碼方式

mysql的預設編碼是latin1,不支援中文,要支援中午需要把資料庫的預設編碼修改為gbk或者utf8。1 需要以root使用者身份登陸才可以檢視資料庫編碼方式 以root使用者身份登陸的命令為 mysql u root p,之後兩次輸入root使用者的密碼 檢視資料庫的編碼方式命令為 show ...

mysql檢視編碼

1.檢視資料庫支援的所有字符集 show character set 或show char set 2.檢視當前狀態 裡面包括當然的字符集設定 status或者 s 3.檢視系統字符集設定,包括所有的字符集設定 show variables like char 4.檢視資料表中字符集設定 show ...