php連接mysql中文查詢亂碼問題解決非常的簡單的,因為這個是我們文檔編碼與數據庫編碼不統一所導致的,解決辦法有許多下面來給各位總結一下.
測試環境,mysql編碼為uft-8,mysql版本為mysql5.X,php版本為php 5.X
解決辦法:
1.確保HTML代碼中聲明的charset值等于utf-8,代碼如下:
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- </head>
1:確認phpmyadmin用的mysql字符集為utf-8 unicode(utf8);mysql連接校對為utf8_general_ci,language為中文-chinese simplified
2:確認每個數據表的“整理為”utf8_general_ci;
3:在php連接mysql數據庫后加個語句來指定數據庫的字符集,例如,代碼如下:
$conn=mysql_connect("localhost","root","你的密碼"); //連接數據庫
mysql_query("set name 'utf8'");
如果上面解決不了我們可如下操作,代碼如下:
- $link = mysql_connect('localhost','root','');
- mysql_query("set character_set_connetion=utf8,character_set_result=utf8, character_set_client=binary",$link);
最后找到一個相對比較全面的解決辦法,后來找到了解決方案,記錄如下.
嘗試創建數據庫表:
- mysql_select_db("courseTable",$con);
- mysql_query("SET NAMES 'utf8'");
- mysql_query("SET CHARACTER_SET_CLIENT=utf8");
- mysql_query("SET CHARACTER_SET_RESULTS=utf8");
總結,關于mysql中文亂碼我是找到很多的辦法但最好發現網上很多解決mysql亂碼都掉JB蛋的,真正的只要在查詢連接時加上mysql_query("SET NAMES 'utf8'");就可以解決了.
新聞熱點
疑難解答