您好,登錄后才能下訂單哦!
小編給大家分享一下打開php文件亂碼的解決方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
打開php文件亂碼的解決辦法:1、保存文件和顯示編碼設置成一致;2、保存文件和數據庫的存儲的字符設置為一致;3、修改數據庫設置的字符集;4、將數據本身和數據庫存儲編碼設置為一致即可。
PHP出現亂碼,解決亂碼的方法
一,出現亂碼的原因分析
1,保存文件時候,文件有自己的文件編碼,就是漢字,或者其他國語言,以什么編碼來存儲
2,輸出的時候,要給內容指定編碼,如以網頁的形勢輸入時<meta http-equiv=”Content-Type” content=”text/html; charset=utf8″ />
3,從數據庫取出數據時,搞不清楚數據庫,設置的字符集
4,以漢字為例,漢字本來也有編碼的,一個漢字gbk要二個字符,而utf8要三個字符
上面說了有可能引起亂碼的潛在原因,我現在把它們排列組合一下。
第一種情況,保存文件和顯示編碼的不一致
假如保存文件時候,你用的utf8編碼,網頁輸出時,你設置的是gbk編碼,這樣就會出現亂碼,
第二種情況,保存文件和數據庫的存儲的字符不一致
假如,保存文件的編碼和網頁顯示的編碼一樣時,還是出現亂碼了,例如,你保存文件時,用的utf8編碼,而你數據庫用的是gb2312字符集來存儲數據。
第三種情況,已經亂碼了,你還認為沒有
當你發現出現亂碼時,去改變保存文件的編碼的時候,utf8情況是好的,當你把它換成gbk的話就亂碼了,但是你還以為是好的。這也是出現亂碼的原因。這種情況會經常出現。
第四種情況,數據庫里面本來就是亂碼
數據的字符集,保存文件的編碼,網頁顯示編碼都一樣了,還是出現亂碼了,這種情況大多數,是數據入數據庫的時候,就亂碼了,這種情況是比較麻煩的。
二,我解決亂碼的方法,百試不爽
我把這種方法起個名子叫庖丁解牛法。哈哈。數據庫,保存文件編碼,顯示時候的編碼必須一致,并且以數據庫為準
第一種,數據庫和保存文件的編碼是utf8,網頁顯示呢是gb2312,這個時候,我們就要改顯示編碼了<meta http-equiv=”Content-Type” content=”text/html; charset=utf8″ />
第二種,數據庫和網頁顯示都是utf8,保存文件用的是gb2312,這個時候呢,要注意一種,直接把保存文件的編碼改過,是不行的,在改編碼之前,把文件的內容先COPY一下,編碼改過以后,在把剛才COPY的內容粘回去,這樣就OK了.
第三種,數據庫用的utf8,保存文件和顯示編碼是gb2312,這個時候呢,你可以用程序自帶的函數把從數據庫取出的數據進行一下轉碼把,utf8轉成gb2312這樣就不用去改變文件自己的編碼了,以及顯示編碼了。以php為例,mb_convert_encoding($string,”gb2312″,”utf8″);
第四種,數據庫亂碼,是數據錄入時候,數據本身和數據庫存儲編碼不一樣造成的。例如:數據庫的存儲編碼是utf8,在數據入庫的時候,加上一個mysql_query(“set names utf8;”);
三,亂碼表現的形勢
亂碼的表現呢,我是遇到過二個,
1)就是出現在的字體亂碼了,變成怪七怪八的字符了
2)就是直接是空白頁面,查看源碼呢,什么都沒有,像這種情況,有的時候,很想起是因為是亂碼造成的。右擊頁面在,查看屬性,改一下編碼就知道是不是因為亂碼引起的空白頁面了。
以上是“打開php文件亂碼的解決方法”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。