[英]BUG YUICompressor with special chars
我使用较新版本的YUICompressor(2.4.7)压缩我的Javascript和CSS文件,很长一段时间,一切似乎都很好……当我意识到特殊字符“í”和“Í”并没有转换成功。 奇怪的是,另一个特殊字符正在按我们的预期进行转换。 为什么仅“í”和“Í”没有被转换? 由于仅这两个字符不正确,因此我放弃了文件系统和语言之间的字符集冲突。 看起来像个错误。 有人可以帮我解决这个问题吗?
看看我转换文件时会发生什么:
转换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")
此代码尝试进行不区分大小写的字符串比较,但是在土耳其语系统上失败。
当您使用土耳其语系统时,请尝试在另一个非土耳其语系统上运行它,并告诉我们YUICompressor的错误是否仍然存在。
您的字符集是否为UTF-8? 如果其他的话,您是否指定它(作为命令行,或者作为InputStreamReader / OutputStreamWriter的参数)? 如果用作servlet,是否在请求和响应上都设置了编码?
今天,我已经将yui压缩器与我的应用程序集成在一起(版本2.4.7),它可以正确处理unicode字符,因此您可能缺少上述步骤之一。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.