0

有人可以为我描述如何在 JavaScript Rhino 中正确指定字符编码吗?

我相当熟悉整理 Java 应用程序和数据库 (MySQL) 之间以及应用程序和浏览器之间的编码问题,但这个问题似乎涉及 shell 和文件 i/o。

我有一个主要用 JavaScript 编写的应用程序,它在 Rhino 上运行,可以在 Apache Tomcat 中运行,也可以通过 Rhino shell 独立运行。

所有 js 源代码都保存为 UTF-8(在 Eclipse 中),并使用 Rhino shell 的“加载”功能或(如果在 Tomcat 中运行)通过以下方式加载到 Rhino:

public static void loadScript( String sFile ) throws Exception {
    java.io.BufferedReader oReader = new java.io.BufferedReader(
        new java.io.InputStreamReader( new java.io.FileInputStream( sDir + sFile ), "UTF-8" ) );
    org.mozilla.javascript.Context cx = contextFactory.enterContext();
    try {
        cx.evaluateReader( scope, oReader, sFile, 1, null );
    } finally {
        org.mozilla.javascript.Context.exit();
    }
    oReader.close();
}

从应用程序输出时,源代码中指定的“£”和“€”等字符会损坏。

任何帮助都感激不尽...

4

1 回答 1

0

这不是犀牛的问题。必须使用“UTF-8”编码支持正确读取源文件。

您可以考虑在这里查看相关主题:阅读任何具有奇怪编码的文本文件?

于 2013-04-03T16:34:39.900 回答