php寫入mysql出現中文亂碼的解決辦法是:在建立數據庫連接之后,將該連接的編碼方式改為中文。
代碼如下:
$linkID=@mysql_connect("localhost","root","admin"); if(!$linkID) { echo "數據庫連接失敗!"; } echo "數據庫連接成功!"; mysql_query("SET character_set_connection = GBK",$linkID);//將連接改為中文編碼方式。這種方式 僅能保證插入能正常執行,但是插入之后的數據時???亂碼。有待繼續解決。
繼續上面的問題,查看一下Apache目錄下的PHP源文件,發現頁面的編碼方式是ANSI的,于是乎,我改成了utf8格式的。然后在執行SQL語句命令前加上如下代碼:
mysql_query("set names utf8");
這句話的意思是:使php寫入mysql的編碼為utf-8
可以防止phpmyadmin中查看mysql的中文數據出現亂碼!//很重要!!然后再次執行插入操作,中文就能正常插入數據庫了,不再是???亂碼形式了。
總結:通過PHP往Mysql數據庫中寫入中文的話,必須要保證,php源文件編碼格式為utf8,mysql的連接要保持utf8格式,數據庫表的編碼格式為utf8,保證這三點一致,中文就能寫入成功了??!
以上內容僅供參考!
推薦教程:PHP視頻教程