国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

MySQL+PHP產生亂碼原因分析與解決方法

2024-05-04 21:56:21
字體:
來源:轉載
供稿:網友

◆ mysql數據庫教程默認的編碼是utf8,如果這種編碼與你的php網頁不一致,可能就會造成mysql亂碼;

◆ mysql中創建表時會讓你選擇一種編碼,如果這種編碼與你的網頁編碼不一致,也可能造成mysql亂碼;

◆ mysql創建表時添加字段是可以選擇編碼的,如果這種編碼與你的網頁編碼不一致,也可能造成mysql亂碼;

◆ 用戶提交頁面的編碼與顯示數據的頁面編碼不一致,就肯定會造成php頁面亂碼;

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

◆ php頁面字符集不正確;

◆ php連接mysql數據庫語句指定的編碼不正確。

注意:很多人都懷疑mysql版本不一致會導致亂碼,相信看了本說明你就不會這樣認為了。

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

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

將網站編碼設為 utf-8,這樣可以兼容世界上所有字符。

如果網站已經運作了好久,已有很多舊數據,不能再更改簡體中文的設定,那么建議將頁面的編碼設為 gbk, gbk與gb2312的區別就在于:gbk能比gb2312顯示更多的字符,要顯示簡體碼的繁體字,就只能用gbk。

使用mysql+php產生亂碼的原因都了解得很清楚了,那么解決就不困難了。

mysql+php產生亂碼的解決辦法:

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

修改數據庫編碼,如果是數據庫編碼不正確,可以在phpmyadmin 執行如下sql代碼:alter database 'test' default character set utf8 collate utf8_bin  

以上命令就是將test數據庫的編碼設為utf8。

修改表的編碼,sql代碼:alter table 'category' default character set utf8 collate utf8_bin  

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

修改字段的編碼,sql代碼:

(1)、alter table 'test' change 'dd' 'dd' varchar( 45 ) character   

(2)、set utf8 collate utf8_bin not null  

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

如果是這種情況容易解決,只需檢查下頁面,修改源文件的charset即可,這種情況也是修改頁面charset即可,在連接數據庫的語句中。

sql代碼:

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

為了避免php頁面亂碼的發生,php頁面開始第一句php代碼   

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南汇区| 邵阳县| 翁源县| 溧水县| 吐鲁番市| 陆良县| 阿巴嘎旗| 英山县| 靖安县| 白朗县| 瑞昌市| 桐庐县| 沂南县| 伊川县| 芷江| 北川| 隆昌县| 玉屏| 双流县| 三原县| 安徽省| 伊吾县| 淮阳县| 丹凤县| 谷城县| 临沂市| 泾源县| 泰和县| 仁怀市| 西藏| 二连浩特市| 龙海市| 九江县| 巴彦淖尔市| 四会市| 周口市| 西吉县| 灵璧县| 青州市| 台北市| 云和县|