JS檔案中的中文在網頁上顯示為亂碼解決方案

來源:互聯網
上載者:User

JS檔案中的中文在網頁上顯示為亂碼解決方案

  JS編碼轉換,這句話本身就是一句具有二重義的話。通常理解為JS檔案裡能轉換編碼的代碼,但是,我所碰到的問題並不是這樣的,是要解決JS檔案本身的編碼問題,它是UTF-8編碼的還是ANSI編碼的?在百度、Google上一搜,大家都是說通過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檔案中的中文在網頁上顯示為亂碼,不妨採用本文章中的方法來試一試,或許能解決使你很頭疼的問題。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.