php串連資料庫很簡單但我們在插入儲存資料到mysql資料庫時如果不統一頁面與資料庫編碼就可能出現中文亂碼問題,下面我來給大家介紹預止此問題發生方法。
php中關於mysql的操作非常簡單,然而最近在做一個小工具的時候發現php寫入mysql的資料庫中出現了中文字元的亂碼,這個亂碼的問題糾結了我好久,明明英文字元寫入正常,但是中文就是亂碼!
一開始我感覺是我建立mysql資料庫的時候沒有設定UTF-8字元集,然而後來我發現即使我設定了這個字元集還是不能解決問題,寫入mysql的字串照樣亂碼。
解決這個問題其實很簡單.
1.在建表的時候設定編碼類別型為gb2312_chinese_ci.
2.在PHP頁面的資料庫連接語句加一行mysql_query("SET NAMES 'gb2312'",$link); 例如
| 代碼如下 |
複製代碼 |
$db_host="localhost"; $db_user="root"; $db_password="password"; $db_name="test"; $link=mysql_connect($db_host,$db_user,$db_password); mysql_query("SET NAMES 'gb2312'",$link); $db=mysql_select_db($db_name,$link); $query="select * from user"; $result=mysql_query($query); |
寫入頁面和讀取頁面都加入這行.這樣在MYSQL裡面的中文就能正常顯示了.
另外種辦法修改設定檔my.cnf
| 代碼如下 |
複製代碼 |
[mysqld] default-character-set=utf8 |
重新啟動MYSQL改過 這個改了就是把 character_set_server 設成utf8
好了到這些關於php寫入mysql中文亂碼問題就解決了,當然我們主要是注意頁面與資料庫之間的編碼然後使用mysql_query()進行設定。
http://www.bkjia.com/PHPjc/633204.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/633204.htmlTechArticlephp串連資料庫很簡單但我們在插入儲存資料到mysql資料庫時如果不統一頁面與資料庫編碼就可能出現中文亂碼問題,下面我來給大家介紹預止...