我正在用Java编写非常简单的控制台应用程序。
问题是,我需要将cyrillic和estonian非utf8符号输出到控制台,但在Windows中我会得到一堆奇怪的符号,而在MacOsX中我只能得到????而不是更可读的东西。
我怎样才能达到我的目标?
-更新1-
区域设置给我:
郎=LC_COLLATE="C"LC_CTYPE="UTF-8"LC_MESSAGES="C"LC_montary="C"LC_NUMERIC="C"LC_TIME="C"LC_ALL=
似乎我被UTF-8的东西卡住了%)
奇怪的想法:
有没有办法从eclipse中获得控制台并在eclipse之外使用它?
Windows终端:终端程序cmd.exe
与操作系统的其他部分不使用相同的编码,从Java中,您无法知道是否在终端上运行。在运行程序之前,您必须将cmd.exe
使用的字体设置为Lucida控制台,并用chcp
切换"代码页":
- 西里尔文:使用
chcp 1251
- 爱沙尼亚人:可能你需要
chcp 1257
OSX终端:据我所知,终端是为UTF-8配置的,所以你可以只使用UTF-8。使用locale
命令检查您的编码。