有人可以为我描述如何在 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();
}
从应用程序输出时,源代码中指定的“£”和“€”等字符会损坏。
任何帮助都感激不尽...