php寫入mysql中文亂碼的實例解決方法
php寫入mysql出現(xiàn)中文亂碼的解決辦法是:在建立數(shù)據(jù)庫連接之后,將該連接的編碼方式改為中文。
代碼如下:
$linkID=@mysql_connect("localhost","root","admin"); if(!$linkID) { echo "數(shù)據(jù)庫連接失敗!"; } echo "數(shù)據(jù)庫連接成功!"; mysql_query("SET character_set_connection = GBK",$linkID);//將連接改為中文編碼方式。這種方式 僅能保證插入能正常執(zhí)行,但是插入之后的數(shù)據(jù)時???亂碼。有待繼續(xù)解決。
繼續(xù)上面的問題,查看一下Apache目錄下的PHP源文件,發(fā)現(xiàn)頁面的編碼方式是ANSI的,于是乎,我改成了utf8格式的。然后在執(zhí)行SQL語句命令前加上如下代碼:
mysql_query("set names utf8");
這句話的意思是:使php寫入mysql的編碼為utf-8
可以防止phpmyadmin中查看mysql的中文數(shù)據(jù)出現(xiàn)亂碼!//很重要?。∪缓笤俅螆?zhí)行插入操作,中文就能正常插入數(shù)據(jù)庫了,不再是???亂碼形式了。
總結(jié):通過PHP往Mysql數(shù)據(jù)庫中寫入中文的話,必須要保證,php源文件編碼格式為utf8,mysql的連接要保持utf8格式,數(shù)據(jù)庫表的編碼格式為utf8,保證這三點一致,中文就能寫入成功了??!
以上內(nèi)容僅供參考!感謝大家的學習和對腳本之家的支持。
相關文章
深入eAccelerator與memcached的區(qū)別詳解
本篇文章是對eAccelerator與memcached的區(qū)別進行了詳細的分析介紹,需要的朋友參考下2013-06-06PHP Header用于頁面跳轉(zhuǎn)要注意的幾個問題總結(jié)
在PHP中用header("location:test.php")進行跳轉(zhuǎn)要注意以下幾點,有助于解決一些新手經(jīng)常遇到的問題2008-10-10php htmlspecialchars()與shtmlspecialchars()函數(shù)的深入分析
本篇文章是對php中的htmlspecialchars()與shtmlspecialchars() 函數(shù)進行了詳細的分析介紹,需要的朋友參考下2013-06-06