`
moly
  • 浏览: 3989 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

使用YUIAnt.jar和yuicompressor-2.4.2.jar压缩js乱码问题

阅读更多
之前看了javaeye上的一个帖子,帖子地址
引用
http://www.iteye.com/topic/368724

文中YUIAnt.jar  下载地址 http://www.ubik-ingenierie.com/miscellanous/YUIAnt/ 需要直接访问不到,需要用代理

该文是使用YUIAnt.jar和yuicompressor-2.4.2.jar两个jar包来在ant脚本中压缩js和css,但是在使用中发现了一个问题就是在windows下压缩有中文的js的时候会出现乱码,下面我说一下解决的方法:
在YUIAnt.jar包中类com.yahoo.platform.yui.compressor.YUICompressTask反编译出来的源代码中有192行和196行分别是:
/* 192*/                reader = new BufferedReader(new FileReader(tempFile));
/* 196*/                reader = new BufferedReader(new FileReader(inputFile));

只需要吧这两行代码更改成:
/* 192 */                reader = new InputStreamReader(new FileInputStream(tempFile),charset);
/* 196 */                reader = new InputStreamReader(new FileInputStream(inputFile),charset);

其中变量String变量charset = "UTF-8"。
造成这个bug的原因是FileReader不支持指定文件的字符编码,是当前系统的默认编码来解码文件的输入字节流,windows的默认编码一般都是GBK(大家都是中国人,装的当然都是中文的系统了,可以使用System.getProperty("file.encoding");方法得到),但是一般大家写java程序的人为了国际化的要求,源代码使用的都是UTF-8的编码,使用GBK的reader去读UTF-8编码当然当然会出现乱码,改为可以指定字符串编码的InputStreamReader就可以了。

我把该过之后的jar包名字换成了YUIAnt-0.1.jar,需要的朋友可以下载,其中我强制了输入输出都使用UTF-8编码,下载的朋友注意一下

分享到:
评论
1 楼 Allsame 2011-09-09  
纯胡说,yui本身支持编码设置的,仔细阅读官方文档吧

相关推荐

    yuicompressor-2.4.8.jar

    yuicompressor-2.4.2.jar yuicompressor-2.4.7.jar jsZip.exe yuicompressor yui compressor js压缩工具 javascript压缩工具 css压缩工具 ------------------------------------ //压缩JS java -jar yuicompressor-...

    yuicompressor-2.4.2.jar

    yuicompressor.jar js/css压缩 //压缩JS java -jar yuicompressor-2.4.2.jar --type js --charset utf-8 -v src.js > packed.js //压缩CSS java -jar yuicompressor-2.4.2.jar --type css --charset utf-8 -v src...

    yuicompressor-yui compressor

    java -jar yuicompressor-2.4.2.jar --type js --charset utf-8 -v src.js > packed.js //压缩CSS java -jar yuicompressor-2.4.2.jar --type css --charset utf-8 -v src.css > packed.css 语法: java -jar ...

    yuicompressor-2.4.2

    yuicompressor-2.4.2.jar 对javascript, CSS资源进行压缩

    yuicompressor-2.4.jar

    压缩JS所使用jar包!...压缩JS:java -jar yuicompressor-2.4.jar --type js xxx.js -o xxx.js --charset utf-8 压缩CSS:java -jar yuicompressor-2.4.jar --type css xxx.css -o xxx.css --charset utf-8

    yuicompressor-2.3.5.jar

    jsMinifier是一个压缩JS文件的简单的工具,可以方便的集成到windowS中,使用winzip一样的去压缩JS文件(右键点击未压缩的JS文件,选择压缩javascript,然后同一目录下就会产生一个被压缩后的JS文件),并且压缩效果...

    yuicompressor-maven-plugin, 用于压缩 (Minify/Ofuscate/Aggregate) Javascript文件和使用 YUI 压缩器的CSS文件的Maven 插件.zip

    yuicompressor-maven-plugin, 用于压缩 (Minify/Ofuscate/Aggregate) Javascript文件和使用 YUI 压缩器的CSS文件的Maven 插件 [[Flattr this git repo] ( http://api.flattr.com/button/flattr-badge-large.png)]...

    JS压缩工具、前端优化神器、yuicompressor-2.4.8.jar(百度云盘)

    JS压缩工具、前端优化神器、yuicompressor-2.4.8.jar、

    YUI Compressor

    YUI Compressor 是一个用来压缩 JS 和 CSS 文件的工具,采用Java开发。 使用方法: //压缩JS java -jar yuicompressor-2.4.2.jar --type js --charset utf-8 -v src.js > packed.js //压缩CSS java -jar yui...

    ZDCompressor

    基于yuicompressor-2.4.2修改而成。 增加功能: 1.遍历目录批量压缩js、css 2.支持linux与windows批量压缩 此工具需要java jdk/jre 1.5及以上版本。 1.压缩当前目录下所有css文件 java -jar HipiaoCompressor-...

    JS/CSS压缩脚本

    对项目中的js\css进行压缩,是利用yahoo yuicompressor进行压缩的,同时并对js中的中文汉字替换成unicode字符表示(比如:汉字[\u6c49\u5b57]),这样有利用代码的通用性。 说明: 直接将要压缩的js/css文件放到...

    网页用的YUI压缩工具

    YUI Compressor 是一个用来压缩 JS 和 CSS 文件的工具,采用Java开发。 使用方法: //压缩JS java -jar yuicompressor-2.4.2.jar --type js --charset utf-8 -v src.js > packed.js //压缩CSS java -jar yui...

    JS/CSS压缩专用脚本

    对项目中的js\css进行压缩,是利用yahoo yuicompressor进行压缩的,同时并对js中的中文汉字替换成unicode字符表示(比如:汉字[\u6c49\u5b57]),这样有利用代码的通用性。 说明: 直接将要压缩的js/css文件放到...

    yuicompressor-maven-plugin

    yuicompressor-maven-plugin用于maven的压缩js用

    webstorm_phpstorm_yuicompressor-2.4.8.jar

    webstorm/phpstorm处理Javascript和css压缩必备。下载后在工具文件-设置-工具集 - file watchers配置即可,详细使用方式不清楚可以@我

Global site tag (gtag.js) - Google Analytics