php文件亂碼
1. 如何都是php亂碼
1. php文件本身的編碼與網頁的編碼應匹配a. 如果欲使用gb2312編碼,那麼php要輸出頭:header(「Content-Type: text/html; charset=gb2312"),靜態頁面添加<meta http-equiv="Content-Type" content="text/html; charset=gb2312">,所有文件的編碼格式為ANSI,可用記事本打開,另存為選擇編碼為ANSI,覆蓋源文件。b. 如果欲使用utf-8編碼,那麼php要輸出頭 :header(「Content-Type: text/html; charset=utf-8"),靜態頁面添加<meta http-equiv="Content-Type" content="text/html; charset=utf-8">,所有文件的編碼格式為utf-8。保存為utf-8可能會有點麻煩,一般utf-8文件開頭會有BOM,如果使用 session就會出問題,可用editplus來保存,在editplus中,工具->參數選擇->文件->UTF-8簽名,選擇總是刪除,再保存就可以去掉BOM信息了。2. php本身不是Unicode的,所有substr之類的函數得改成mb_substr(需要裝mbstring擴展);或者用iconv轉碼。
2. 為什麼php文件看到的是亂碼
亂碼指的是計算機系統不能顯示正確的字元,而顯示其他無意義的字元或空白,如一堆ASCII Code。所顯示出來的文字統稱為亂碼。亂碼是因為所使用的字元的源碼在本地計算機上使用了錯誤的顯示字型檔,或在本地計算機的字型檔中找不到相應於源碼所指代的字元所致。
通俗點講:
亂碼就是你打開王頁或郵箱,裡面的字不是全中文的,而是一些亂七八糟莫名其妙的無意義的字元組合在一起。主要是計算機的字型檔出錯所致。
1一般出現在網頁,用網頁上面的查看——編碼——簡體中文即可解決。
2 出現亂碼一般是Windows系統字型檔的問題,可能是系統錯誤或不正常關機造成的,也可能是某些軟體需要使用操作系統以外的字型檔造成的。解決辦法得看具體的問題,一般情況下的Windows亂碼可以通過以下三種方法解決。
第一種方法是下載 解決Windows XP SP2亂碼補丁 V1.00 (華軍軟體園)
第二種是解決Windows系統錯誤造成的亂碼問題,重啟後用F8鍵激活系統菜單,進入安全模式。等系統檢查完畢,硬碟沒有響應後再重新正常退出並重新啟動計算機,正常進入Windows,字體一般就能自動恢復。這是因為Windows在進入安全模式時會重新索引字型檔及整理菜單。
第三種解決方法用於修正軟體造成的注冊表中關於字體部分設置出錯的問題。運行「Regedit」啟動注冊表編輯器。在「HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\fontassoc」鍵下有 「Associated CharSet」和「Associated DefaultFonts」 兩個鍵。當出現漢字亂碼時,這兩個鍵中的內容就可能不正確甚至不完整。它們的正確內容應該是「Associated CharSet」內有「(默認)、ANSI(00)、GB2312(86)、OEM(FF)、SYMBOL(02)」幾項串值,鍵值分別為「(未設置鍵值)、Yes、Yes、Yes、No」,而「Associated DefaultFonts」內有「(默認)、AssocSystemFont、FontPackegeDecorative、FontPackegeDontCare、FontPackegeModern、FontPackegeRoman、FontPackegeScript、FontPackegeSwiss」幾項串值,鍵值分別為「(未設置鍵值)、simsun.ttf、宋體、宋體、宋體、宋體、宋體、宋體」。重新啟動系統後漢字就應該顯示正確了。建議您在修改前先備份注冊表,以防修改錯誤使系統出現問題。
3. PHP文件亂碼
網頁header里有這樣一段
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
你用工具寫代碼的時候就把他保存成gb2312的編碼格式,這樣就不會亂了
可能你是用記事本寫的代碼,編碼不統一,造成了這個問題,建議用dreamweaver或zend studio
4. php中文亂碼怎麼解決
亂碼需要從三個方面排除,第一資料庫編碼,第二php編碼,第三瀏覽器默認編碼,這三個編碼必須統一
5. php文件打開亂碼
文件編碼問題,內容編碼格式要跟文件編碼格式一樣才行,比如內容編碼是gb2312的,那麼文件編碼也得是gb2312的。
6. php格式的文件怎麼打開是亂碼
這樣的文件應該是加密過的。如下圖所示。
zend加密就是這樣的,zend加密需要伺服器端的zend load組件支持。
7. PHP文件中有亂碼
如果是打開文件亂碼:應該是被加密了。個人目前沒有找到有好的解密方法
如果是運行亂碼,以下:
html的代碼中的編碼設置
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
php的編碼設置
<?php
header('Content-Type:text/html; charset=utf-8');
鏈接資料庫的編碼
mysql_query("set names 'utf8'");
以及文件本身的編碼(你還是用記事本另存為的時候看看,有些編程設置是utf-8,但是有可能會是ANSI)
8. 我的PHP文件亂碼怎麼解決
你用什麼編輯器。如果用zen studio,可以換一下編碼試試。不然就上網去找一個可以切換編碼的軟體。不過你這種小方塊的亂碼,還真是沒見過。有沒有可能是編輯器出問題了。
9. PHP中文亂碼問題
亂碼一般都是編碼不一致,如果頁面是php直接輸出字元串,最好在前面加上聲明
header("Content-type:text/html;charset=utf-8");
如果是html網頁代碼,頁面meta標簽就行:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />注意php頁面是否是utf-8格式,一般代碼編輯器會顯示,如下: