php+mysql出現中文亂碼的原因。
1. mysql資料庫的編碼是utf8,與php網頁的編碼格式不一致,就會造成mysql中的中文亂碼。
2. 使用mysql中建立表、或者選擇欄位時設定的型別不是utf8,而網頁編碼不是utf8,也可能造成mysql中文亂碼.
3. php頁面的字符集與資料庫的編碼不一致。
4. php連線mysql資料庫,操作是設定的語句指定的編碼和頁面編碼,php頁面編碼不一致。
5. 使用者提交的html頁面編碼,和顯示資料的頁面編碼不一致 ,就肯定會造成php頁面亂碼
怎麼解決中文亂碼的問題。
1. 網頁編碼設定。一般在html**中的檔案頭中加入屬性:
保證,網頁是"utf-8"編碼。
2. php**設定。在php**的開始部分加入以下**:
header(」content-type: text/html;charset=utf-8″);
且要求儲存的檔案編碼方式是utf-8(可以用editplus開啟設定,如下圖),這樣就保證了該檔案也是utf-8編碼。
3. 資料庫中表的字段中儲存中文的部分,要設定為utf8_general_ci型別。
4.php在連線資料庫操作時,要設定操作的字段型別為utf8,設定方法如下:
mysql_connect(』localhost』,'user』,'password』);mysql_select_db(』db』);mysql_query(」set names utf8;」); //**設定字符集***
PHP MYSQL中文亂碼問題
從mysql 4.1開始引入多語言的支援,但是用php插入的中文會出現亂碼.無論用什麼編碼也不行.解決這個問題其實很簡單.1.在建表的時候設定編碼型別為gb2312 chinese ci.2.在php頁面的資料庫連線語句加一行mysql query set names gb2312 link 例如 ...
PHP MYSQL中文亂碼問題
從mysql 4.1開始引入多語言的支援,但是用php插入的中文會出現亂碼.無論用什麼編碼也不行.解決這個問題其實很簡單.1.在建表的時候設定編碼型別為gb2312 chinese ci.2.在php頁面的資料庫連線語句加一行mysql query set names gb2312 link 例如 ...
PHP MYSQL中文亂碼解決方案
在mysql console中輸入show variables like character 執行結果如下圖所示 把上圖value的12356行統一設定成gbk或utf 8就可以解決這個問題。一 首先看1 2 5行。在php所有用到mysql的地方,先執行 set names gbk 或者 set ...