PHP+MySQL存儲數(shù)據(jù)常見中文亂碼問題小結
本文實例總結了PHP+MySQL存儲數(shù)據(jù)常見中文亂碼問題。分享給大家供大家參考,具體如下:
PHP+MySQL出現(xiàn)中文亂碼的常見原因:
1. MYSQL數(shù)據(jù)庫的編碼是utf8,與PHP網(wǎng)頁的編碼格式不一致,就會造成MYSQL中的中文亂碼。
2. 使用MYSQL中創(chuàng)建表、或者選擇字段時設置的類型不是utf8,而網(wǎng)頁編碼不是utf8,也可能造成MYSQL中文亂碼.
3. PHP頁面的字符集與數(shù)據(jù)庫的編碼不一致。
4. PHP連接MYSQL數(shù)據(jù)庫,操作是設定的語句指定的編碼和頁面編碼,PHP頁面編碼不一致。
5. 用戶提交的HTML頁面編碼,和顯示數(shù)據(jù)的頁面編碼不一致 ,就肯定會造成PHP頁面亂碼.
解決中文亂碼問題的方法:
1. 網(wǎng)頁編碼設置。一般在HTML代碼中的文件頭<html>中加入屬性:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
保證,網(wǎng)頁是"utf-8"編碼。
2. PHP代碼設置。在php代碼的開始部分加入以下代碼:
header("Content-type: text/html;charset=utf-8");
且要求保存的文件編碼方式是utf-8(可以用EditPlus打開設置,如下圖),這樣就保證了該文件也是utf-8編碼。
3. 數(shù)據(jù)庫中表的字段中存儲中文的部分,要設置為utf8_general_ci類型。
4.PHP在連接數(shù)據(jù)庫操作時,要設置操作的字段類型為utf8,設置方法如下:
mysql_connect('localhost','user','password');
mysql_select_db('db');
mysql_query("set names utf8"); //**設置字符集***
mysql_query(要執(zhí)行的sql語句);
希望本文所述對大家php程序設計有所幫助。
相關文章
如何在舊的PHP系統(tǒng)中使用PHP 5.3之后的庫
這篇文章主要介紹了如何在舊的PHP系統(tǒng)中使用PHP 5.3之后的庫,需要的朋友可以參考下2015-12-12
PHP 5.3.1 安裝包 VC9 VC6不同版本的區(qū)別是什么
php官網(wǎng)提供了四個版本,VC9 x86 Non Thread Safe、VC9 x86 Thread Safe、VC6 x86 Non Thread Safe、VC6 x86 Thread Safe,大家看完這篇文章就知道應該選擇什么樣的版本了。2010-07-07
PHP extract 將數(shù)組拆分成多個變量的函數(shù)
extract()函數(shù)提取關聯(lián)數(shù)組(對數(shù)字索引數(shù)組無效)每對key和value,生成以key為變量名、value為對應值的多組新變量。2010-06-06

