我们的软件有一个脚本,可以创建不同语言的 JAR 文件,对于日语,我们在调用 native2asci 时使用编码 SJIS。这在上次尝试日本构建时有效,但现在似乎只在某些情况下有效。例如,在下面的对话框中,编码似乎只在标题栏中起作用:
任何人都知道可能导致这种情况的原因吗?这个问题可能与 Java 的变化有关吗?
我们的软件有一个脚本,可以创建不同语言的 JAR 文件,对于日语,我们在调用 native2asci 时使用编码 SJIS。这在上次尝试日本构建时有效,但现在似乎只在某些情况下有效。例如,在下面的对话框中,编码似乎只在标题栏中起作用:
任何人都知道可能导致这种情况的原因吗?这个问题可能与 Java 的变化有关吗?
我建议检查以下两件事:
native2ascii
转换是正确的。您应该使用标志进行往返转换-reverse
,并确保您的输入和输出是同步的。另外需要注意的是:如果此应用程序旨在在 Windows 上使用,那么您确实应该使用MS932
orwindows-31j
编码。SJIS
将适用于除十几个符号之外的所有符号,但事实证明这些符号(如全角波浪号)实际上在日本相当频繁地使用。
你到底通过native2ascii传递了什么?只是为了确保您使用的是 native2ascii -encoding Shift_JIS,对吗?你通过 native2ascii 传递文本文件或源文件,对吗?
我唯一的另一个想法是,在将文本转换为 \uXXXX 格式后,您用于显示对话框的字体可能没有所有的汉字和假名。显式设置字体,然后尝试。
I think the right way to do this is to use UTF-8 or UTF-16 exclusively. Kanji and Katakana demand special attention.