MySQL字符集小結

2021-06-20 02:29:13 字數 1961 閱讀 7939

mysql

對字符集支援有兩個方面:

字符集(characterset

)和排序方式(collation

)對於字符集的支援細化到四個層次:

伺服器(server)

,資料庫(database)

,資料表(table)

和連線(connection)

但是,傳統的程式在建立資料庫和資料表時,並沒有使用那麼複雜的配置,他們使用的是預設的配置,那麼,預設的配置從何而來呢?

(1)編譯

mysql

時,指定了乙個預設的字符集,這個字符集是latin1;

(2)安裝

mysql

時,可以在配置檔案(my.ini)

中指定乙個預設的字符集,如果沒指定,這個值繼承自編譯時指定的;

(3)啟動

mysqld

時,可以在命令列引數中指定乙個預設的字符集,如果沒有指定,這個值繼承自配置檔案中的配置,此時character_set_server

被設定為這個預設的字符集;

(4)當建立

乙個新的

資料庫時,除非明確指定,否則這個資料庫的字符集被預設設定為character_set_server

;(5)

當選定了乙個資料庫時,character_set_database

被設定為這個資料庫預設的字符集;

(6)在這個資料庫中建立一張表時,表預設的字符集被設定為character_set_database

,也就是這個資料庫預設的字符集;

(7)當在表內設定一欄時,除非明確指定,否則此欄預設的字符集就是表預設的字符集;

如果什麼地方都不修改,那麼所有的資料庫的所有表的所有欄位都用latin1

儲存,不過我們如果安裝mysql

,一般都會選擇多語言支援,也就是說,安裝程式會自動在配置檔案中把default_character_set

設定為utf-8

,這保證了預設情況下,所有的資料庫的所有表的所有欄位都是用的utf-8

儲存。2.

檢視預設字符集,預設情況下,mysqld

的字符集是latin1(iso_8859_1)

showvariables like '%character%'

3.修改預設字符集

(1)最簡單的修改方法,就是修改mysql

的my.ini

檔案中的字符集鍵值:

如果default-character-set= utf8

character_set_server= utf8

修改完以後,重啟mysql

的服務,servicemysql restart

(2)還有一種修改字符集的方法,就是使用mysql

的命令:

setcharacter_set_client= utf8

setcharacter_set_connection = utf8

setcharacter_set_database = utf8

setcharacter_set_database = utf8

setcharacter_set_server = utf8

setcollation_connection = utf8

setcollation_database = utf8

setcollation_server = utf8

一般就算設定了表的預設字符集為utf8

,並且通過utf-8

編碼傳送查詢,你會發現存入資料庫的仍然是亂碼。問題就出在這個connection

連線層上。解決方法是在傳送查詢前執行一下下面的語句:

setnames 'utf8'

;這相當於下面的三句指令:

setcharacter_set_client = utf8

setcharacter_set_results = utf8

setcharacter_set_connection = utf8

mysql 集群字符集 Mysql 字符集

字符集與字元比較 字符集字符集是某種字元的集合,比如最常見的ascii碼,由127個字元組成,只需要乙個位元組就能表示 我們常說的字符集還是gbk iso utf8 mysql 我們使用得最多的字符集就是gbk 和 utf8了 他們都是變長字符集,如果字元在ascii範圍內就使用乙個位元組表示,其他...

mysql字符集 MySQL字符集選擇

一 怎樣選擇合適的字符集 對mysql資料庫來說,字符集很重要,因為資料庫儲存的資料大部分都是各種文字,字符集對資料庫的儲存,處理效能都會有所影響。主要考慮一下幾方面的因素 1.滿足應用支援語言的需求,應用處理各種各樣的文字,發布到使用不同語言的國家或地區,可以選擇unicode字符集,mysql的...

mysql api 字符集 MySQL字符集

mysql字符集包括字符集 character 和 collation 兩個概念。字符集是用來定義mysql儲存字串的規則,校對規則則是定義了比較字串的方式。字串和校對規則是一對多的 關係。使用命令 show collation like gbk 可檢視相關的校對規則 使用 show charact...