有人可以为我描述如何在JavaScript Rhino中正确指定字符编码吗?
我非常熟悉在Java应用程序和数据库(MySQL)之间以及应用程序和浏览器之间整理编码问题,但这个问题似乎涉及shell和文件i / o。
我有一个主要用JavaScript编写的应用程序,它运行在Rhino上,在Apache Tomcat内部或通过Rhino shell独立运行。
所有js源代码都保存为UTF-8(在Eclipse中),并使用Rhino shell的“load”函数加载到Rhino中,或者(如果在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();
}
从应用程序输出时,源代码中指定的'£'和'€'等字符会被破坏。
感激不尽的任何帮助......
答案 0 :(得分:0)
这不是犀牛的问题。必须使用'UTF-8'编码支持正确读取源文件。
您可以考虑在此处查看相关主题:Reading any text file having strange encoding?