CSDN炸了一個多月。。終於可以發博客了=_=
編碼問題,一定要小心小心再小心。
這兩天做數據庫設計,遇到了好幾次因爲編碼的問題而出現亂碼或者無法輸入的情況,總結一下以後省的出錯。
1. 數據庫要設置成utf8_general_ci,執行命令:
ALTER TABLE `score`
COLLATE='utf8_general_ci',
CONVERT TO CHARSET utf8;
2. 數據要設置成utf8格式,在你數據庫查詢的時候加上一句:
$mysqli->query("set names'utf8'");
應該就沒問題了
3. 瀏覽器也設置成utf8格式
4. 代碼文件,我用的是notepad++,在格式選項中有轉爲UTF-8編碼格式,點擊它然後Ctrl+S;
做到上面幾點應該就沒有亂碼問題了,如果還有的話,PHP裏面可以採用的有iconv,mb_convert_encoding來調試(要在my.ini中開啓mbstring功能),給上一個參考代碼:
//編碼轉換
functiondisplay_fileencoding($filename)
{
if(extension_loaded("mbstring"))
{
$code=mb_detect_encoding($filename);//檢測字符串編碼
$filename=mb_convert_encoding($filename,"UTF-8",$code);//將編碼$code轉換爲utf-8編碼
return $filename;
}
else
die("請檢查系統是否正確安裝配置mbstring");
}