一. mysql字元集類型
mysql伺服器中有六個關鍵位置使用了字元集的概念,他們是:client 、connection、database、results、server 、system。
a、其中client是用戶端使用的字元集,相當於網頁中的字元集設定如下<meta http-equiv="Content-Type" content="text/html; charset=utf-8">。
b、其中的connection是串連資料庫的字元集設定類型,如果php沒有指明串連資料庫使用的字元集類型,就按照伺服器端預設的字元集設定。
c、其中database是資料庫伺服器中某個庫使用的字元集設定,如果建庫時沒有指明,將使用伺服器安裝時指定的字元集設定。
d、results是資料庫給用戶端返回時使用的字元集設定,如果沒有指明,使用伺服器預設的字元集。
e、server是伺服器安裝時指定的預設字元集設定。
f、 system是資料庫系統使用的字元集設定。
PS:
1. system一般預設是utf-8字元集,server是最高的字元集設定,database沒有單獨設定就按照server的字元集設定,其他都是按照server的設定設定字元集。
2. 資料庫內的每個表和欄位也都有字元集的概念,一般都是根據上一級結構決定自身的字元集,比如表就根據database庫的設定決定自己的字元集,欄位根據表來決定自己的字元集。
二. 統一字元集的方法:(以utf-8字元集來進行安裝)
1. 要徹底解決字元集的方法就是讓mysql在安裝的時候就是用utf-8的字元集設定(預設為latin1),這樣可以使上面的六個關鍵點的編碼都為utf-8。
2. 使用STATUS命令查看mysql中各個類別字元集的狀態。
也可用SHOW VARIABLES LIKE 'character_set_%' 查看字元集的一些設定情況。
三. 若mysql在安裝時的字元集設定為latin1,可以在建庫時,指定資料庫的字元集為utf8。
CREATE DATABASE qss DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;