- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯(lián)網(wǎng)協(xié)會(huì )理事單位
- 安全聯(lián)盟認證網(wǎng)站身份V標記
- 域名注冊服務(wù)機構許可:滇D3-20230001
- 代理域名注冊服務(wù)機構:新網(wǎng)數碼
下面列出網(wǎng)頁(yè)出現亂碼的幾種原因和解決辦法:
1、網(wǎng)站頭部設定的編碼和網(wǎng)頁(yè)本身的編碼不一致導致的,html網(wǎng)頁(yè)頭部代碼:<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />是告訴瀏覽器該用什么編碼來(lái)讀取網(wǎng)頁(yè)的內容,然后瀏覽器就會(huì )啟用相應的解碼來(lái)程序內容,同時(shí),網(wǎng)站本身還存在一個(gè)編碼的機制,中國人一般使用gbk、gb2312、utf-8編碼,如果網(wǎng)站制作者將網(wǎng)頁(yè)文件存儲為了gbk格式,然后在網(wǎng)頁(yè)頭部卻設置了utf-8的格式,那么瀏覽器在讀取網(wǎng)頁(yè)的時(shí)候就會(huì )將中文或其他非英文和數字的字符解析成亂碼;
如果是這種編碼錯誤,解決辦法很簡(jiǎn)單,將解碼方式和文件存儲的編碼修改成一致即可,瀏覽者在遇到此類(lèi)情況,可以在網(wǎng)頁(yè)空白處右鍵-編碼種選擇多種編碼方式試試,就可以看到亂碼的文字了。
2、不合理的字符串截取造成個(gè)別字符亂碼,在gbk和gb2312編碼下,中文是占用兩個(gè)字節,而在utf-8編碼模式下,中文字符占用三個(gè)字節,而英文和數字都是占用一個(gè)字節,如果用英文的一些截取方式去截取中文字符的話(huà),就可能出現將一個(gè)中文截斷的現象,網(wǎng)頁(yè)就會(huì )出現中文亂碼,而gbk和utf-8的中文截取手段也不一樣。
這種情況的解決辦法就是規范截取字符串的函數,因地制宜。
3、數據庫編碼問(wèn)題導致,這種情況在mysql中經(jīng)常出現,因為mysql等一些數據庫支持存儲各種編碼的字符串,并且也有編碼的區分, 讀取數據庫的方式這個(gè)很關(guān)鍵,必須和網(wǎng)頁(yè)的頭部設定和存儲編碼一致,如果不一致就會(huì )出現亂碼。
4、AJAX傳遞中文編碼導致的,AJAX在傳遞中文數據的時(shí)候只支持UTF-8編碼的中文,所以如果嘗試用其他編碼方式傳遞的話(huà)就會(huì )出現亂碼,解決辦法是在傳遞中文數據前就將中文數據轉碼成utf-8。
5、網(wǎng)站本身中毒導致。
上面五種原因基本囊括了網(wǎng)站出現亂碼的可能性,如有不足之處還請指正!
售前咨詢(xún)
售后咨詢(xún)
備案咨詢(xún)
二維碼
TOP