日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
MySQL+PHP亂碼原理與解決

MySQL+PHP產(chǎn)生亂碼原因:

站在用戶的角度思考問題,與客戶深入溝通,找到城步網(wǎng)站設(shè)計與城步網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都做網(wǎng)站、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、國際域名空間、網(wǎng)頁空間、企業(yè)郵箱。業(yè)務(wù)覆蓋城步地區(qū)。

◆ MySQL數(shù)據(jù)庫默認的編碼是utf8,如果這種編碼與你的PHP網(wǎng)頁不一致,可能就會造成MySQL亂碼;

◆ MySQL中創(chuàng)建表時會讓你選擇一種編碼,如果這種編碼與你的網(wǎng)頁編碼不一致,也可能造成MySQL亂碼;

◆ MySQL創(chuàng)建表時添加字段是可以選擇編碼的,如果這種編碼與你的網(wǎng)頁編碼不一致,也可能造成MySQL亂碼;

◆ 用戶提交頁面的編碼與顯示數(shù)據(jù)的頁面編碼不一致,就肯定會造成PHP頁面亂碼;

◆ 如用戶輸入資料的頁面是big5碼, 顯示用戶輸入的頁面卻是gb2312,這種100%會造成PHP頁面亂碼;

◆ PHP頁面字符集不正確;

◆ PHP連接MySQL數(shù)據(jù)庫語句指定的編碼不正確。

注意:

很多人都懷疑MySQL版本不一致會導(dǎo)致亂碼,相信看了本說明你就不會這樣認為了。

平時你在某些網(wǎng)站看到的文字可能有幾種編碼, 如你看到一個繁體字,它有可能是big5編碼,也有 可能是utf-8編碼的,更有可能是gb碼的,沒錯,也就是說有簡體編碼的繁體字,也有繁體編碼的簡體字,一定要了解這一點。

如果你是做一個簡體編碼的網(wǎng)頁,編碼定為GB2312,如果有香港和臺灣地區(qū)的訪客提交繁體的信息,就可能會造成亂碼,解決方法:

將網(wǎng)站編碼設(shè)為 utf-8,這樣可以兼容世界上所有字符。

如果網(wǎng)站已經(jīng)運作了好久,已有很多舊數(shù)據(jù),不能再更改簡體中文的設(shè)定,那么建議將頁面的編碼設(shè)為 GBK, GBK與GB2312的區(qū)別就在于:GBK能比GB2312顯示更多的字符,要顯示簡體碼的繁體字,就只能用GBK。

使用MySQL+PHP產(chǎn)生亂碼的原因都了解得很清楚了,那么解決就不困難了。

MySQL+PHP產(chǎn)生亂碼的解決辦法:

如果安裝MySQL的編碼已不能更改,很多朋友是購買虛擬主機建立網(wǎng)站,無權(quán)更改MySQL的安裝編碼,這一關(guān)我們可以跳過,因為只要后面的步聚正確,一樣能解決亂碼問題。

修改數(shù)據(jù)庫編碼,如果是數(shù)據(jù)庫編碼不正確,可以在PHPmyadmin 執(zhí)行如下命令:

ALTER DATABASE 'test' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin

以上命令就是將test數(shù)據(jù)庫的編碼設(shè)為utf8。

修改表的編碼:

ALTER TABLE 'category' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin

以上命令就是將一個表category的編碼改為utf8。

修改字段的編碼:

ALTER TABLE 'test' CHANGE 'dd' 'dd' VARCHAR( 45 ) CHARACTER 
SET utf8 COLLATE utf8_bin NOT NULL

以上命令就是將test表中dd的字段編碼改為utf8。

如果是這種情況容易解決,只需檢查下頁面,修改源文件的charset即可。

這種情況也是修改頁面charset即可。

在連接數(shù)據(jù)庫的語句中。

mysql_connect('localhost','user','password'); 
  mysql_select_db('my_db');
  mysql_query("set names utf8;");     //select 數(shù)據(jù)庫之后加多這一句

為了避免PHP頁面亂碼的發(fā)生,PHP頁面開始第一句

header("content-type:text/html; charset=utf-8"); 
  //強行指定頁面的編碼,以避免亂碼

注意:照以上方法修改以后只能保證你新插入的數(shù)據(jù)不會亂碼,舉個例:如果你用戶已提交的數(shù)據(jù)是BIG5,你卻想通過以上方法改為可以在GB2312的網(wǎng)頁正確顯示是不可能的, 這種文字內(nèi)碼的變換只能通過另寫程序來解決。

【編輯推薦】

  1. 精通PHP需要注意的十大要點
  2. 國外主流PHP框架對比評測
  3. Java和PHP在Web開發(fā)方面的比較

文章題目:MySQL+PHP亂碼原理與解決
文章分享:http://m.5511xx.com/article/dpcjpij.html