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)容僅供參考!感謝大家的學習和對腳本之家的支持。
您可能感興趣的文章:- MySQL字符集亂碼及解決方案分享
- linux下mysql亂碼問題的解決方案
- mysql中插入表數(shù)據(jù)中文亂碼問題的解決方法
- JDBC連接mysql亂碼異常問題處理總結(jié)
- JDBC連接mysql處理中文時亂碼解決辦法詳解
- 詳解mysql數(shù)據(jù)庫中文亂碼問題
- 解決mysql數(shù)據(jù)庫數(shù)據(jù)遷移達夢數(shù)據(jù)亂碼問題