2009-06-24 113 views
12

嘗試運行yuicompressor時出現一些錯誤。使用yuicompressor的錯誤

它說:

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

難道這是因爲我將其保存爲錯誤的編碼或東西嗎?

+1

你能至少發佈違規行嗎?第一行,假設它不從零開始計數? – 2009-06-24 03:14:25

+0

這裏有幸運的家園嗎? – 2009-07-06 15:00:47

回答

20

我看到YUICompressor和使用字節順序標記(BOM)以UTF-8保存的文件的問題。 Visual Studio 2008的默認設置似乎是以這種方式保存它們。爲了解決這個問題,我必須用不同的編碼保存文件。在VS2008中,這是文件 - 高級保存選項 - 編碼:Unicode(UTF-8無簽名)

+0

任何人都知道在通過Powershell輸出文件時是否可以使用此編碼?我將文件與Powershell連接起來,並且像大多數喜歡使用BOM的應用程序一樣。 – JoshNaro 2010-11-22 16:24:08

3

除了在「沒有簽名編碼的UTF-8」下保存,我不得不切換到Windows樣式行尾(CR LF)。

8

今天我遇到了這個問題。另一個修復方法是在命令行上提供--charset utf-8選項。

0

在Visual Studio 2008中查看.js文件時...文件 - >高級保存選項 - > Unicode(不帶簽名的UTF-8)。

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編碼參數。

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" /> 

更多編碼選項,請參閱docs

相關問題