我在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之外使用它?
答案 0 :(得分:1)
Windows终端:终端程序cmd.exe
没有使用与其他操作系统相同的编码,而且从Java中您无法知道您是从终端运行还是不。您必须将cmd.exe
使用的字体设置为Lucida控制台,并在运行程序之前将"code page"与chcp
切换:
OS X终端:据我所知,终端配置为UTF-8,因此您只需使用UTF-8即可。使用locale
命令检查编码。