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

jquery ajax 方法只支持UTF-8 编码

先说遇到的问题:

我用highcharts 做了一个统计我百度文库 浏览下载 的统计曲线分析图。在eclipse里面,我设置了整个工程为UTF-8编码。 reader = new BufferedReader(new InputStreamReader(new FileInputStream(wenku));所有的读和写都是以这样默认的方式 来进行操作。在这种情况下 读写文件的编码格式 遵循 工程的编码格式即为 utf-8. 抓取和分析网页的结果,存放在本地文件 result.json里面。这是 result.json 固然是 utf-8格式。

? 使用 如下语句没有问题。

? $.getJSON("result.json", "", function (data, textStatus){
?????????????? recs = data.records;
?????
???????????? });

?

问题是 我把 分析的文件 打成jar 包。analyze.jar 为打包的 分析程序。 我使用bat脚本运行文件。result.json 用记事本打开的结果正常。。getSON一直出现乱码。 经分析。。analyze.jar 在执行的时候 使用操作系统默认的 字符编码GBK

?

reader = new BufferedReader(new InputStreamReader(new FileInputStream(wenku));这样的语句全部使用gbk 编码。 而jquery 在ajax上只支持 utf-8格式,。所有getJSON 会出乱码或出错。

?

???? 决绝的方式是 在reader = new BufferedReader(new InputStreamReader(new FileInputStream(wenku)); 和writer 等地方全部统一使用 utf-8. 这样在运行jar 文件时就不会使用默认的编码格式了。

????

???? 找了半天的bug. 更玩侦探似的。

?