PHP讀MYSQL中文亂碼原因最常見的就是頁面編碼與程序編碼不一致造成了,例如,你數據庫是utf8然后頁面是gbk這樣要數據庫查詢時不作處理就會出現中文亂碼了,要解決也很簡單我們只要使用mysql(set names charset)就可以解決了.
最后還是用常見的方法:mysql_query中的”set names charset”,解決了,其中有一點要特別注意:PHP中設置使用“utf8”,而不是“utf-8”,就這樣問題解決了
后來查資料發現了一個解決方法,就是在mysql_connect后面加一句SET NAMES UTF8,即可使得UTF8的數據庫消除亂碼,對于GBK的數據庫則使用SET NAMES GBK,強制設置一下數據庫編碼即可解決MYSQL中文亂碼的問題,代碼如下:
解決方法是在成功連接數據庫之后,發送一句查詢語句,代碼如下:
- $this->LinkID = mysql_connect($this->Host, $this->User, $this->Password);
- mysql_query('SET NAMES 'utf8'', $this->LinkID);
- //或:
- DEFINE ('LINK', mysql_connect (DB_HOST, DB_USER, DB_PASSWORD));
- mysql_query("SET NAMES 'utf8'", LINK);
- //gbk編碼的
- $mysql_mylink = mysql_connect($mysql_host, $mysql_user, $mysql_pass); //Vevb.com
- mysql_query("SET NAMES 'GBK'");
新聞熱點
疑難解答