2012-12-23 54 views
1

我似乎無法得到Yui Compressor pluginSublime Text 2工作,並不斷收到類似的錯誤:Unicode的解碼錯誤2

UnicodeDecodeError: 'ascii' codec can't decode byte 0x9e in position 19: ordinal not in range(128) 
Writing file /C/Users/Nikola Brežnjak/Desktop/yuicompressor-2.4.7/build/justTesting.js with encoding UTF-8 
Running java -jar C:\Users\Nikola Brežnjak\AppData\Roaming\Sublime Text 2\Packages\YUI Compressor\bin\yuicompressor-2.4.7.jar --charset utf-8 --preserve-semi --line-break 150 -o justTesting.min.js C:\Users\Nikola Brežnjak\Desktop\yuicompressor-2.4.7\build\justTesting.js 
Traceback (most recent call last): 
    File ".\sublime_plugin.py", line 337, in run_ 
    File ".\exec.py", line 154, in run 
    File ".\exec.py", line 45, in __init__ 
UnicodeDecodeError: 'ascii' codec can't decode byte 0x9e in position 19: ordinal not in range(128) 

我通過安裝包管理器,我的插件確保我已將java放入PATH變量中,並且如果通過控制檯運行它,YUI Compressor將完成其工作。

回答

3

問題出在我的Sublime Text安裝路徑上 - 注意我姓氏中的字符。

所以,很多搜索後,我發現瞭解決方案here,並且說那裏似乎是​​文件中的錯誤,它可以在你的崇高包目錄中找到(例如:C:\Users\Nikola Brežnjak\AppData\Roaming\Sublime Text 2\Packages\Default) 。你必須改變線45來自:

proc_env[k] = os.path.expandvars(v).encode(sys.getfilesystemencoding()) 

到:

proc_env[k] = os.path.expandvars(v.decode(sys.getfilesystemencoding())).encode(sys.getfilesystemencoding()) 

這一點,你必須保存文件後,與該插件會自動重新加載,然後YUI壓縮機插件會工作完美無瑕。