JS 文件本身編碼轉(zhuǎn)換 圖文教程
在百度、谷歌上一搜,大家都是說(shuō)通過(guò)JAVA后臺(tái)處理來(lái)解決編碼問(wèn)題,試問(wèn),這樣能解決JS文件本身的編碼問(wèn)題嗎?
之所以提出JS文件本身編碼問(wèn)題,是因?yàn)镴S文件的編碼不同,造成了中文顯示為亂碼。
通常,在Eclipse中建立一個(gè)JS文件(含有中文),在Eclipse的編輯器中看到的中文都很正常,但是顯示在網(wǎng)頁(yè)上就是亂碼,而我的頁(yè)面全部都是采用UTF-8編碼進(jìn)行編碼的,為此,我想到了,這可能是JS文件本身編碼問(wèn)題造成的。
在Eclipse中,JS文件中的中文顯示正常
在網(wǎng)頁(yè)中,中文卻顯示為亂碼
我想到了這可能是由于JS文件本身編碼問(wèn)題所導(dǎo)致的,其實(shí)這是正確的。這里要用到一個(gè)小工具,叫NotePad2,翻譯過(guò)來(lái)就是記事本第代,這個(gè)小工具很好用,綠色免安裝,完全可以取代windows系統(tǒng)自帶的記事本軟件。它的下載地址是:http://download.csdn.net/source/1732849
用NotePad2打開(kāi)JS文件,查看JS文件的編碼,發(fā)現(xiàn)JS文件的編碼是ANSI,ANSI編碼采用0x80~0xFF范圍內(nèi)的2個(gè)字節(jié)來(lái)表示1個(gè)字符。例如,漢字“中”在中文操作系統(tǒng)中,使用[0xD6,0xD0]這兩個(gè)字節(jié)來(lái)存儲(chǔ)。但是,不同的國(guó)家和地區(qū)制定了不同的ANSI標(biāo)準(zhǔn),使得不同ANSI編碼之間互不兼容。大家都知道,在中國(guó),瀏覽器的編碼要么是GBK或GB2312編碼,要么是UTF8編碼,當(dāng)以ANSI編碼的中文發(fā)送到網(wǎng)頁(yè)上時(shí),自然就顯示為亂碼了,所以這是問(wèn)題的根本。
借助NotePad2軟件,將JS文件的編碼轉(zhuǎn)換成UTF-8編碼,因?yàn)閁TF-8編碼是計(jì)算機(jī)通用編碼,能支持幾乎所有國(guó)家或地區(qū)的語(yǔ)言文字,而且瀏覽器本身就支持UTF-8編碼。
OK,再來(lái)看看在瀏覽器上的效果。顯而易見(jiàn),中文顯示正常,亂碼問(wèn)題解決。并非像網(wǎng)上所說(shuō)的“使用JS中的encodeURIComponent或encodeURI方法”,既復(fù)雜又難懂,還要經(jīng)過(guò)復(fù)雜的編程,實(shí)在是不可取。
經(jīng)我的測(cè)試,無(wú)論是使用新建文本文檔然后將擴(kuò)展名改成.js,還是用其他軟件或工具創(chuàng)建的JS文件,用NotePad2軟件打開(kāi)查看編碼,發(fā)現(xiàn) JS文件的編碼都是ANSI,因此我猜測(cè),難道JS文件的默認(rèn)編碼是ANSI編碼?當(dāng)然這個(gè)我并沒(méi)有去考證,在網(wǎng)上也沒(méi)有相關(guān)的資料可以證明JS文件的默認(rèn)編碼是ANSI編碼,僅個(gè)人猜測(cè)而已。
但是,至少,如果JS文件中的中文在網(wǎng)頁(yè)上顯示為亂碼,不妨采用本文章中的方法來(lái)試一試,或許能解決使你很頭疼的問(wèn)題。
- javascript unicode與GBK2312(中文)編碼轉(zhuǎn)換方法
- JS 文字符串轉(zhuǎn)換unicode編碼函數(shù)
- javascript實(shí)現(xiàn)unicode和字符的互相轉(zhuǎn)換
- javascript下漢字和Unicode編碼互轉(zhuǎn)代碼
- js中unicode轉(zhuǎn)碼方法詳解
- JavaScript中字符串與Unicode編碼互相轉(zhuǎn)換的實(shí)現(xiàn)方法
- javascript實(shí)現(xiàn)unicode與ASCII相互轉(zhuǎn)換的方法
- JavaScript語(yǔ)言對(duì)Unicode字符集的支持詳解
- JavaScript實(shí)現(xiàn)Base64編碼轉(zhuǎn)換
- js 編碼轉(zhuǎn)換 gb2312 和 utf8 互轉(zhuǎn)的2種方法
- JS實(shí)現(xiàn)的Unicode編碼轉(zhuǎn)換操作示例
相關(guān)文章
學(xué)習(xí)javascript,實(shí)現(xiàn)插入排序?qū)崿F(xiàn)代碼
首先新建一個(gè)空列表,用于保存已排序的有序數(shù)列(我們稱之為"有序列表")。從原數(shù)列中取出一個(gè)數(shù),將其插入"有序列表"中,使其仍舊保持有序狀態(tài)。2011-07-07JavaScript運(yùn)動(dòng)框架 解決速度正負(fù)取整問(wèn)題(一)
這篇文章主要為大家詳細(xì)介紹了JavaScript運(yùn)動(dòng)框架的第一部分,解決速度正負(fù)取整問(wèn)題,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05localResizeIMG先壓縮后使用ajax無(wú)刷新上傳(移動(dòng)端)
隨著技術(shù)的發(fā)展,移動(dòng)設(shè)備像素越來(lái)越高,但是這么大的圖片怎么上傳呢?下面小編就給大家一起學(xué)習(xí)移動(dòng)端圖片上傳的方法之localResizeIMG先壓縮后使用ajax無(wú)刷新上傳,需要的朋友可以參考下2015-08-08一個(gè)對(duì)于Array的簡(jiǎn)單擴(kuò)展
一個(gè)對(duì)于Array的簡(jiǎn)單擴(kuò)展...2006-10-10javascript系統(tǒng)時(shí)間設(shè)置操作示例
這篇文章主要介紹了javascript系統(tǒng)時(shí)間設(shè)置操作,涉及javascript時(shí)間運(yùn)算與判斷相關(guān)操作技巧,需要的朋友可以參考下2019-06-06javascript獲取指定區(qū)間范圍隨機(jī)數(shù)的方法
下面小編就為大家?guī)?lái)一篇javascript獲取指定區(qū)間范圍隨機(jī)數(shù)的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-09-09