在一次實踐中自己遇到中文亂碼的解決流程
主要是html前端頁面,php文件,MySQL三者編碼的統一
1、顯示數據庫當前字符集 show variables like "%char%";
若不統一,可以set names utf8;
2、show create table tb_name查看表和字段的編碼
將其都設置為utf8
3、都統一后直接使用dos插入中文卻出現問題,直接無法插入中文
但是在沒有更改php文件編碼以及php代碼的情況下(此時php文件編碼是gbk,并且mysql_set_charset("gbk")),
網頁頁面上直接添加是成功無亂碼的。
4、網上查找原因
“我們用的windows是中文的,那么dos的輸入輸出也就是GB2312的編碼,而你在mysql里設置為utf8,
所以mysql會把dos的gb2312的字符當做utf8來處理,所以會出現問題。那么我們不能改dos的字符處理編碼,就只能
將mysql改為gb2312或者gbk了”
5、了解原因后,不再從dos里輸入
6、把php文件編碼換成utf8(zend studio->edit->set encoding)
7、把瀏覽器的顯示編碼設置成utf8
8、把php的header里的charset設置為utf-8
9、<meta>里的編碼設置為utf-8
10、php連接數據庫時的mysql_set_charset設置為utf8
新聞熱點
疑難解答