云南網站建設創新企業 昆明多彩網絡公司

|網頁對話|電話:0871-63215311

網站內中文出現亂碼的五個原因

來源:昆明網絡公司 日期:2010-09-26 閱讀: 發表評論

網站存在互聯網上,聯通著全世界的網民,一個網站一上線,這個世界所有連接互聯網的人們都能看到,但網站也有“地域文化差異”存在,網站亂碼問題大部分原因是由于語言和網站編碼不同造成的

計算機是的西方國家發明的,理所當然就使用了英語作為了計算機的母語言,但早期的時候給使用其他語言的國家造成了不少的障礙,尤其是東方國家,比如中國,隨著計算機技術的發展,這個障礙慢慢的消失,但是在網站制作中還是會出現一些網站亂碼的問題。

下面列出網頁出現亂碼的幾種原因和解決辦法:

 

1、網站頭部設定的編碼和網頁本身的編碼不一致導致的,html網頁頭部代碼:<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />是告訴瀏覽器該用什么編碼來讀取網頁的內容,然后瀏覽器就會啟用相應的解碼來程序內容,同時,網站本身還存在一個編碼的機制,中國人一般使用gbk、gb2312、utf-8編碼,如果網站制作者將網頁文件存儲為了gbk格式,然后在網頁頭部卻設置了utf-8的格式,那么瀏覽器在讀取網頁的時候就會將中文或其他非英文和數字的字符解析成亂碼;

如果是這種編碼錯誤,解決辦法很簡單,將解碼方式和文件存儲的編碼修改成一致即可,瀏覽者在遇到此類情況,可以在網頁空白處右鍵-編碼種選擇多種編碼方式試試,就可以看到亂碼的文字了。

 

2、不合理的字符串截取造成個別字符亂碼,在gbk和gb2312編碼下,中文是占用兩個字節,而在utf-8編碼模式下,中文字符占用三個字節,而英文和數字都是占用一個字節,如果用英文的一些截取方式去截取中文字符的話,就可能出現將一個中文截斷的現象,網頁就會出現中文亂碼,而gbk和utf-8的中文截取手段也不一樣。

這種情況的解決辦法就是規范截取字符串的函數,因地制宜。

 

3、數據庫編碼問題導致,這種情況在mysql中經常出現,因為mysql等一些數據庫支持存儲各種編碼的字符串,并且也有編碼的區分, 讀取數據庫的方式這個很關鍵,必須和網頁的頭部設定和存儲編碼一致,如果不一致就會出現亂碼。

 

4、AJAX傳遞中文編碼導致的,AJAX在傳遞中文數據的時候只支持UTF-8編碼的中文,所以如果嘗試用其他編碼方式傳遞的話就會出現亂碼,解決辦法是在傳遞中文數據前就將中文數據轉碼成utf-8。

 

5、網站本身中毒導致,這個情況的解決辦法就請參考“網站安全”設置這篇文章。

 

上面五種原因基本囊括了網站出現亂碼的可能性,在昆明網站建設過程中應該盡量避免。

發表評論評論列表(有 條評論)

網頁對話 0871-63215311
原创视频传到什么网站可以赚钱