日期:2014-05-16  浏览次数:20380 次

引入JS文件编码问题
自己写了一个JS RIA框架,由于文件较多,于是写了文件合并程序,将多个JS文件(UTF-8)合并成一个文件,程序中并未指定文件编码,接着在JSP(UTF-8)中引入该文件,总是出错,打开监控软件,发现浏览器中的JS显示乱码,在浏览器中动态改变其为UTF-8编码,文件显示正常。因此确定其为引入编码不正确,于是在引入JS文件是指定编码方式charset="utf-8"
<script type="text/javascript" charset="utf-8"  src="A.js"></script>

保存浏览,还是不正确,纳闷了。

在Eclipse中打开该文件,用UTF-8编码打开正常,其他编码打开均乱码,说明文件本身就是UTF-8编码的没错,纠结ing......

在本地用记事本打开该文件,乱码,悲剧了,打开文件另存为对话框


看来文件默认编码是系统默认的ANSI编码了,由此可以推断文件内容本身的编码是UTF-8的没错,但文件头信息中的默认编码为设置为系统的默认ANSI编码了,于是修改文件合并程序,改成
BufferedWriter(OutputStreamWriter(FileOutputStream, "UTF-8"))
// 原来的方式是:FileWriter(File)

重新生成合并文件,浏览,成功!