今天在通過表單給php提交資料,然後插入到資料庫中。網頁與php的編碼格式均為utf-8,在插入到資料庫中時也設定了$this->query("set names utf8;");
但是還是出現了在mysql中讀取資料出現亂碼和問號的情況。後來實在是無解,將mysql設定為gbk編碼,居然能正確的顯示,簡直就是顛覆了三觀。。至今不知道為什麼。
但是在這過程中也了解到了一些有關編碼的知識:
在mysql中設定mysql的編碼通過修改配置檔案my.ini,該檔案在mysql的安裝路徑下。
[mysql //客戶端
default-character-set=utf8
[mysqld] //伺服器端
character-set-server=utf8
在mysql客戶端下操作:
show variables like 'character%';檢視字符集
show variables like 'collation_%';
解決亂碼的方法是,在執行sql語句之前,將mysql以下三個系統引數設定為與伺服器字符集character-set-server相同的字符集。
character_set_client:客戶端的字符集。
character_set_results:結果字符集。
character_set_connection:連線字符集。
設定這三個系統引數通過向mysql傳送語句:set names utf8
即在php中執行:mysql_query(「set names utf8」);
mysql資料庫編碼
1.去mysql的安裝目錄下的 bin目錄下 執行 mysqlinstanceconfig.exe 在語言設定的頁面有三個選項 standard character set best support for multilingualism manual selected default charac...
資料庫編碼mysql
show variables like character 針對 很多表的操作 1 分別匯出資料和表結構。2 修改表結構中的charset gbk或者charsetgbk為charset utf8或者charsetutf8 3 匯入表結構。4 匯入資料。編碼格式 檢視某個表的 編碼格式 命令 sho...
mysql資料庫編碼設定 MySQL資料庫編碼設定
預設情況下mysql資料庫使用的是拉丁 lantin1 字元進行編碼 如輸入命令show variables like character 檢視資料庫編碼 variable name value character set client latin1 character set connection...