|
在百度、谷歌上一搜,大家都是說通過Java后臺處理來解決編碼問題,試問,這樣能解決JS文件本身的編碼問題嗎?
之所以提出JS文件本身編碼問題,是因為JS文件的編碼不同,造成了中文顯示為亂碼。
通常,在Eclipse中建立一個JS文件(含有中文),在Eclipse的編輯器中看到的中文都很正常,但是顯示在網頁上就是亂碼,而我的頁面全部都是采用UTF-8編碼進行編碼的,為此,我想到了,這可能是JS文件本身編碼問題造成的。
在Eclipse中,JS文件中的中文顯示正常
在網頁中,中文卻顯示為亂碼
我想到了這可能是由于JS文件本身編碼問題所導致的,其實這是正確的。這里要用到一個小工具,叫NotePad2,翻譯過來就是記事本第代,這個小工具很好用,綠色免安裝,完全可以取代windows系統自帶的記事本軟件。它的下載地址是:http://download.csdn.NET/source/1732849
用NotePad2打開JS文件,查看JS文件的編碼,發現JS文件的編碼是ANSI,ANSI編碼采用0x80~0xFF范圍內的2個字節來表示1個字符。例如,漢字“中”在中文操作系統中,使用[0xD6,0xD0]這兩個字節來存儲。但是,不同的國家和地區制定了不同的ANSI標準,使得不同ANSI編碼之間互不兼容。大家都知道,在中國,瀏覽器的編碼要么是GBK或GB2312編碼,要么是UTF8編碼,當以ANSI編碼的中文發送到網頁上時,自然就顯示為亂碼了,所以這是問題的根本。
借助NotePad2軟件,將JS文件的編碼轉換成UTF-8編碼,因為UTF-8編碼是計算機通用編碼,能支持幾乎所有國家或地區的語言文字,而且瀏覽器本身就支持UTF-8編碼。
OK,再來看看在瀏覽器上的效果。顯而易見,中文顯示正常,亂碼問題解決。并非像網上所說的“使用JS中的encodeURIComponent或encodeURI方法”,既復雜又難懂,還要經過復雜的編程,實在是不可取。
經我的測試,無論是使用新建文本文檔然后將擴展名改成.js,還是用其他軟件或工具創建的JS文件,用NotePad2軟件打開查看編碼,發現 JS文件的編碼都是ANSI,因此我猜測,難道JS文件的默認編碼是ANSI編碼?當然這個我并沒有去考證,在網上也沒有相關的資料可以證明JS文件的默認編碼是ANSI編碼,僅個人猜測而已。
但是,至少,如果JS文件中的中文在網頁上顯示為亂碼,不妨采用本文章中的方法來試一試,或許能解決使你很頭疼的問題。
JavaScript技術:JS 文件本身編碼轉換 圖文教程,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。