似乎 Struts1 用于InputStream
读取 i18n 资源文件而不是Reader
. Struts2 中有一个struts.i18n.encoding
属性,但是我找不到 Struts1 的类似设置。
有没有办法强制 Struts1 使用特定编码读取资源文件?
我还注意到,在俄语版本的 Windows 中,InputStream
使用“Windows-1251”编码。然而,在 Windows 的英文版本(即使非 Unicode 程序的当前语言设置为俄语),Java InputStream
(和 Struts1)使用 ANSI 编码。
Java 的-Dfile.encoding
属性效果Reader
,但不是InputStream
:( 是否有另一种方法(可能通过设置一些系统变量)来强制 Java 引擎始终像在俄语版本的 Windows 上工作一样工作?这也可以解决我的问题。
PS我确实知道native2ascii.exe
JDK中的工具,实际上它解决了主要问题。但是它使资源文件在记事本和 unf 中不可读。必须在记事本中保持资源文件的可读性:(