2023-11-09 分類: 網站建設
網頁亂碼一直是網絡編程高手都頭痛的問題,在學習當中經常遇到這個問題,查找了相關的資源,總結如下:
一般的中文編碼:gb2312,gbk(前者的一種擴展),這兩種編碼缺乏國際通用性;UTF-8為國際標準編碼,一般網頁編碼使用該編碼方式;
出現亂碼大部分是由于編碼方式的不一致導致的,其中主要有四個地方不一致就可能存在這個可能:
1、頁面文件的編碼方式(.html,.php等)
2、 html.head中指定瀏覽器的編碼方式
3、MySQL數據庫傳輸的編碼方式
4、Apache字符集
這四個的編碼一般需要統一起來,統一為UTF-8更為合適。以下四點應該注意:
1、plusEdit這種編輯會識別文件編碼,打開并保存后編碼方式保持不變 ;而像visual studio 2005、Zend Studio等開發工具會以工具選項中的字符集打開并保存,可能改變原來的編碼方式,可能原來是utf-8的,zend studio ->工具(選項編碼為gb2312),打開并保存就變成了gb2312可能會出現亂碼;
2、<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 這句話可以強制要求瀏覽器以utf-8編碼方式來查看頁面,但有一點需要注意,可能Apache的字符集為非UTF-8,例如Gb2312,此時瀏覽器會優先以服務器(Gb2312)的字符集編碼打開,又可能導致亂碼;所以一般可以這么處理:關閉服務器Apache的字符集AddDefaultCharset off 此時瀏覽會以頁面Head中字符集打開;
3、pHp一般都與mysql數據庫交互,兩者進行數據通信時,也有一個編碼問題,不管增還是查,必須指定通信編碼方式(一般與Head中編碼方式UTF-8一致,否則取出來的數據是以非UTF-8編碼的,到頁面上顯示仍舊為亂碼;把UTF-8編碼的字符通過非UTF-8的通信方式傳輸到數據庫同樣會失敗,我遇到了這個Insert失敗問題,希望大家不要重蹈覆轍,O(∩_∩)O~) 指定通信方式方法:mysql_query('set names utf8'),注意不是utf-8;
4、一般跟數據庫建庫時的編碼沒有關系,修改后sql語句執行會有問題,比如前臺可視化工具操作刪除數據時會報字符集不符合的錯誤(我用的工具為MySql-Front),也不需要修改my.ini文件中的編碼方式,修改后可能導致Mysql無法啟動,報1065錯誤 ;只要命令行執行mysql客戶機程序時增與查沒有出現亂碼,數據庫的編碼方式應該是沒有問題的,重點需要檢查的是否是上面三個導致的亂碼。
分享名稱:pHp頁面顯示亂碼?創新互聯教你如何解決
URL分享:http://m.newbst.com/news40/293290.html
成都網站建設公司_創新互聯,為您提供手機網站建設、網站導航、網站內鏈、搜索引擎優化、云服務器、App設計
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯
猜你還喜歡下面的內容