微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何configurationwin32的rcp产品在控制台上正确打印德文变音符号?

我创build了一个小型的Eclipse应用程序,只需通过System.out打印stringäÄß 。 当我在Eclipse中运行这个应用程序时,string在Eclipse控制台视图中被正确地打印出来。 但是,如果我生成一个包含这个应用程序的产品,并使用eclipsec.exe在windows上启动它,我会在控制台上看到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的值osgi.console.encoding为Cp1252并将console.encoding也设置为Cp1252 。 我也尝试更改启动eclipse应用程序的命令提示符的代码页,但这也没有帮助。 当我在控制台上input德语变音符时,它们显示正确。

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

如何在“top”linux命令中执行控制台input?

Python语法错误后保持打开的Windows控制台

使CreateProcessinheritance调用进程的控制台

一个Windows命令提示符下按顺序运行多个程序?

是否可以检查程序输出redirect到文件的控制台的宽度?

编辑:修改了应用程序也new BufferedReader(new InputStreamReader(system.in))读取一行,并打印出来。 当控制台的代码页被设置为Cp850我可以input并打印出来。 如果我附加一个debugging器,我看到在Eclipse中的input看起来像„Žá 。

我也尝试通过新的PrintStream(System.out,true,"Cp1252")显式指定编码,但是这并没有改变任何东西。

我正在使用Windows 7,以防万一。

FillConsoleOutputCharacter / WriteConsoleOutput和特殊字符

如何在不使用C中的system()的情况下清除win32 cmd控制台窗口?

如何在控制台中读出pulseaudio客户端的音量等级

代码创build另一个窗口?

Bash按正则expression式sorting

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

将德语变音器正确打印到控制台最简单的方法是使用System.console()及其提供的方法

另一种方法是通过一个系统属性来配置外部使用的编码。 然后,应用程序必须使用该编码来创建必要的Writer,Readers和Streams。 对于Windows系统,这个编码必须是IBM850 。

问题是在Windows中认编码Cp1252也用于System.out和system.in 。 但是Windows控制台使用codepage 850 (DOS时代遗留下来的codepage 850 ),这IBM850 Java中编码IBM850的代表。 由于Cp1252和IBM850不兼容,字符会混乱。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐