十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
本篇文章為大家展示了php utf-8 亂碼怎么辦,代碼簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、小程序制作、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了岢嵐免費建站歡迎大家使用!
php utf-8亂碼的解決辦法:1、在“my.ini”文件中查找,并修改編碼為“utf8”;2、設(shè)置語句為“MySQL_query("set names 'utf8'");”;3、在“文本文件編碼”里面設(shè)置默認的編碼為“utf8”。
1.在建數(shù)據(jù)庫的時候,尤其是用phpMyAdmin與MYSQL打交道時候,一般都是utf-8,字段為 utf8_general_ci
數(shù)據(jù)庫的設(shè)置:
在my.ini文件中查找:
[mysql] default-character-set = utf8 [mysqld] default-character-set = utf8 init_connect = 'SET NAMES utf8 '
全部設(shè)置為utf8
保存,重新啟動mysql服務(wù)
2.在與數(shù)據(jù)打交道的時候mysql_query("set names 'utf8'");注意是:utf8,不是 utf-8
3.PHP的文件默認的編碼是ANSI ,需要轉(zhuǎn)換為UTF-8 ,至于怎么轉(zhuǎn)換editplus就有這樣的功能,“另存為”的時候有選擇編碼UTF-8 ,注意:不能選擇:UTF-8 + BOM,如果選擇這個了 ,你在處理session的時候就會出現(xiàn)問題,所以一定要注意.還有有的人在eclipse,Myeclipse,ZendStudio里面開發(fā),eclipse里面默認的是ISO-8859-1,需要在“窗口 ”->“首選項 ”打開“首選項”窗口,在左側(cè)“常規(guī) ”->“工作空間 ”,在“文本文件編碼 ”里面設(shè)置默認的編碼為utf-8
4.就是PHP文件里面要說明:如
或者
代碼如下:
5.還有就是處理中文等雙字節(jié)的時候也有可能出現(xiàn)亂碼,PHP里面可以采用的有iconv,mb_convert_encoding來處理雙字節(jié),其余的可以參考PHP幫助手冊
6.在補充一點(遺漏的一點),在你的程序里面你要知道數(shù)據(jù)之間的傳遞也有可能存在編碼問題的,但是你又不知道傳遞過來的數(shù)據(jù)是采用的什么編碼,在PHP里面提供了方法來處理的,下面是自己寫的一個簡單方法,可以參考一下
代碼如下:
//編碼轉(zhuǎn)換 function display_fileencoding($filename) { if(extension_loaded("mbstring")) { $code=mb_detect_encoding($filename);//檢測字符串編碼 $filename=mb_convert_encoding($filename,"UTF-8",$code);//將編碼$code轉(zhuǎn)換為utf-8編碼 return $filename; } else die("請檢查系統(tǒng)是否正確安裝配置mbstring"); }
要確保mbstring在你的php.ini中啟用
7.保證以上幾處編碼一致就可以了!!數(shù)據(jù)庫,網(wǎng)頁輸出都不會出現(xiàn)亂碼了,如有不對的,請留言指出??!
上述內(nèi)容就是php utf-8 亂碼怎么辦,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。