BUG yuiccompressor带有特殊字符

BUG YUICompressor with special chars

本文关键字:特殊字符 yuiccompressor BUG      更新时间:2023-09-26

我使用较新版本的yuiccompressor(2.4.7)来压缩我的Javascript和CSS文件,很长一段时间,一切显然都很好…当我意识到特殊字符"í"answers"Í"没有被成功转换时。奇怪的是,另一个特殊字符正在被转换。为什么只有"í"answers"Í"没有被转换?因为这两个字符不合适,所以我丢弃了文件系统和语言之间的字符集冲突。它看起来像一只虫子。有人能帮我解决这个问题吗?

看看当我转换文件时会发生什么:

将CSS

来自:

@import url("/láÍíàyout.css");

:

@import url("/lá�?íàyout.css");

转换JS

来自:

var x = 'cícÍsúlúm irmãêîôûúàá';

:

var x="c�c�?súlúm irmãêîôûúàá";

嗯…当它只与i有关时,我就会想到Turkey test

土耳其语中的大写i不是I,而是I,上面有一个点。当字符串操作与toUpperCase()或其他东西一起使用时,你必须注意,否则你的程序将无法在土耳其操作系统上正常运行。

的例子:

"fail".toUpperCase().equals("FAIL")

此代码尝试进行不区分大小写的字符串比较,但在土耳其系统上失败。

当您使用土耳其系统时,请尝试在另一个非土耳其系统上运行它,并告诉我们yuiccompressor的错误是否仍然存在

您的字符集是UTF-8吗?如果其他,你指定它(无论是作为命令行,或作为参数InputStreamReader/OutputStreamWriter)?如果使用servlet,是否对请求和响应都设置编码?

我已经集成了yui压缩与我的应用程序今天(版本2.4.7),它是正确处理unicode字符,所以你可能会错过上面的一个步骤。