13

尝试运行 yuicompressor 时出现一些错误。

它说:

[error] 1:2:illegal character
[error] 1:2:syntax error
[error] 1:3 illegal character

这可能是因为我将其保存为错误的编码之类的吗?

4

6 回答 6

21

我已经看到 YUICompressor 和使用字节顺序标记 (BOM) 以 UTF-8 保存的文件的问题。Visual Studio 2008 的默认设置似乎是以这种方式保存它们。为了解决这个问题,我不得不用不同的编码保存文件。在 VS2008 中,这是File - Advanced Save Options - Encoding : Unicode (UTF-8 without signature)

于 2009-06-26T03:09:31.407 回答
8

我今天遇到了这个问题。--charset utf-8另一个解决方法是在命令行上提供选项。

于 2009-07-24T19:42:06.353 回答
3

除了在“没有签名编码的 UTF-8”下保存之外,我还必须切换到 Windows 样式的行尾(CR LF)。

于 2009-06-30T19:03:58.337 回答
0

在 Visual Studio 2008 中查看 .js 文件时... 文件 -> 高级保存选项 -> Unicode(无签名的 UTF-8)。

于 2010-08-18T14:07:32.553 回答
0

以防万一有人使用 Powershell 连接文件,我使用以下 Powershell 脚本来规避此问题:

Get-Content `
JavaScript/file01.js,`
JavaScript/file02.js,`
JavaScript/file03.js `
 | Set-Content JavaScript/Concat.js -Encoding Ascii

java.exe -jar ../../yuicompressor/build/yuicompressor-2.4.2.jar JavaScript/Concat.js -o JavaScript/Concat.min.js preserve-semi --charset ascii --type js

注意连接和 YUICompressor 调用中的 ascii 编码参数。

于 2010-11-22T17:18:47.653 回答
0

我在使用 .NET 版本的 YuiCompressor 进行编码时遇到了同样的问题。

修复了EncodingType="UTF8"在我的配置文件中添加:

<CssCompressorTask        EncodingType="UTF8" SourceFiles="@(CssFiles)"        OutputFile="path\styles.min.css" />
<JavaScriptCompressorTask EncodingType="UTF8" SourceFiles="@(JavaScriptFiles)" OutputFile="path\scripts.min.js" />

有关更多编码选项,请参阅文档

于 2016-02-09T16:07:03.587 回答