gpt4 book ai didi

java - 如何为 win32 配置 rcp 产品以在控制台上正确打印德语变音符号?

转载 作者:可可西里 更新时间:2023-11-01 10:48:59 27 4
gpt4 key购买 nike

我创建了一个小型 Eclipse 应用程序,它通过 System.out 简单地打印字符串 äÄß。当我从 Eclipse 中运行此应用程序时,字符串会在 Eclipse 控制台 View 中正确打印出来。但是,如果我构建一个包含此应用程序的产品并在 Windows 上使用 eclipsec.exe 启动它,我会看到 a─▀ 打印到控制台。

产品定义为:

   <configIni use="default">
</configIni>

<launcherArgs>
<programArgs>-consoleLog</programArgs>
<vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts</vmArgsMac>
</launcherArgs>

<windowImages/>

<launcher>
<solaris/>
<win useIco="false">
<bmp/>
</win>
</launcher>

<vm>
</vm>


<plugins>
<plugin id="console-encoding"/>
<plugin id="javax.transaction" fragment="true"/>
<plugin id="org.eclipse.core.contenttype"/>
<plugin id="org.eclipse.core.jobs"/>
<plugin id="org.eclipse.core.runtime"/>
<plugin id="org.eclipse.core.runtime.compatibility.registry" fragment="true"/>
<plugin id="org.eclipse.equinox.app"/>
<plugin id="org.eclipse.equinox.common"/>
<plugin id="org.eclipse.equinox.preferences"/>
<plugin id="org.eclipse.equinox.registry"/>
<plugin id="org.eclipse.osgi"/>
</plugins>

<configurations>
<plugin id="org.eclipse.core.runtime" autoStart="true" startLevel="0" />
</configurations>

我尝试将 osgi.console.encoding 的值设置为 Cp1252 并将 console.encoding 的值也设置为 Cp1252。我还尝试更改启动 eclipse 应用程序的命令提示符的代码页,但这也无济于事。当我在控制台上输入德语变音符号时,它们会正确显示。

我需要做什么才能在控制台上正确显示德语变音符号?

编辑:我修改了应用程序以从 new BufferedReader(new InputStreamReader(System.in)) 中读取一行并将其打印出来。当控制台的代码页设置为 Cp850 时,我可以输入 äÄß 并打印出来。如果我附加调试器,我会看到 eclipse 中的输入看起来像 „Žá

我还尝试通过 new PrintStream(System.out, true, "Cp1252") 明确指定编码,但这并没有改变任何东西。

我使用的是 Windows 7,以防万一。

最佳答案

好的,我假设您正在使用 org.eclipse.ui.console.MessageConsole,它扩展了 IOConsole。如果你看一下 IOConsole 类,有一个 getEncodingMethod(),它返回默认编码,它取自 WorkbenchEncoding.getWorkbenchDefaultEncoding();,它是 System.getProperty("file.encoding", "UTF-8");.因此,您可以尝试将属性“file.encoding”设置为所需的编码。希望这会有所帮助。

关于java - 如何为 win32 配置 rcp 产品以在控制台上正确打印德语变音符号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12578322/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com