1

在 Win 7 上,我尝试在 Sublime_text2 (ST2) 中运行 JavaScript 脚本 (rhino)。由于对 ST2 比较陌生并且不精通 Python,我遇到了编码问题。这是我的“插件”:

import sublime
import sublime_plugin
from urllib import pathname2url(*) 

class RhinoCommand(sublime_plugin.TextCommand):
def run(self, edit):
    script = pathname2url(self.view.file_name())
    self.view.window().run_command("exec", {"cmd": ["java", "-cp", ".;/D:/Javascript/Rhino/rhino-1.7R4/js.jar", "org.mozilla.javascript.tools.shell.Main", "-version", "180", "-require", "-modules", "/path/to/a/module" -f", script]})

添加了一个键绑定:

{ "keys": ["ctrl+j"], "command": "rhino" }

(*) 添加此导入以防止 java.net.URISyntaxException 并且显然很好。

但是,在某些情况下,某些异常会在没有更多信息的情况下生成此输出

[Decode error - output not utf-8]

如何改变这种行为?我试过了

def run(self, edit, encoding="cp1252"): #or cp850 (as windows command "chcp" says 850 on my box) with no effect.

我尝试使用构建而不是命令,但我不知道如何用 pathname2url 包装 $file。我的问题是如何在所有情况下摆脱 [Decode error - output not utf-8]。

4

0 回答 0