将非utf8符号输出到控制台

时间:2012-03-22 12:12:48

标签: java encoding console jconsole

我在Java中编写非常简单的控制台应用程序。

问题是我需要输出西里尔和爱沙尼亚非utf8符号到控制台,但在Windows中我得到一堆奇怪的符号而在MacOsX中我只得到????而不是更具可读性的东西。

我如何实现目标?

- 更新1 -

locale给了我:

LANG=
LC_COLLATE="C"
LC_CTYPE="UTF-8"
LC_MESSAGES="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_ALL=

似乎我坚持使用UTF-8的东西%)

奇怪的想法:

有没有办法从eclipse获取控制台并在eclipse之外使用它?

1 个答案:

答案 0 :(得分:1)

Windows终端:终端程序cmd.exe没有使用与其他操作系统相同的编码,而且从Java中您无法知道您是从终端运行还是不。您必须将cmd.exe使用的字体设置为Lucida控制台,并在运行程序之前将"code page"chcp切换:

OS X终端:据我所知,终端配置为UTF-8,因此您只需使用UTF-8即可。使用locale命令检查编码。