当前位置: 首页 > 面试题库 >

Cygwin编码困难

曾承弼
2023-03-14
问题内容

不确定这是否是编程问题。我开始怀疑是这样的…但是后来我在Windows控制台而不是Cygwin控制台中运行了有问题的Java程序(可执行jar)…并且运行良好:输出重音很好,接受重音输入也很好。因此,以下内容仅适用于Cygwin控制台。

我正在处理一些法语文本。当打印带重音符号的字符(System.out)时,将打印一种“哈希框”。我在这里看到了另一个问题,但是没有给出解决方案或适当的解释。

当我输入带重音的字符时,这些字符被错误地读入(Java
System.in),例如,“bénéfice”然后作为“bÃnéfice”被打印出(在正确处理编码的日志中)。

(也许)令人困惑的是,我能够在控制台中键入“bénéfice”。据我了解,Deja Vu Sans
Mono字体旨在很好地处理Unicode。所以…这可能与Java System.inSystem.out流有关吗???

为避免疑问,这是Windows平台上的Cygwin(有人在非Windows操作系统上使用Cygwin吗?)。

我试图通过转到选项->文本来更改“语言环境”,字符集和字体。这些框没有任何改变。目前的设置是默认设置:
字体:Deja Vu Sans Mono
语言环境:en_GB
字符集:UTF-8

在命令提示符下,当我走时

$ locale

我懂了

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

有人知道我应该怎么做吗?


问题答案:

感谢Paul和Zhong Yu在这里给出的答案。

要打印到Cygwin,请执行以下操作:

PrintStream out = new PrintStream(System.out, true, "UTF-8");
out.print( outputString );

要阅读Cygwin,请执行以下操作:

BufferedReader br = new BufferedReader( new InputStreamReader(System.in, "UTF-8") );
String nextInputLine = br.readLine();

有点惊讶,这个问题在Cygwin提出之前还没有提出。



 类似资料:
  • 我正在处理的代码有一些编码问题。接收到一个加密字符串,该字符串用ISO-8859-1解码。然后将该字符串放入具有UTF-8编码的DB中。检索该字符串时,它仍然是ISO-8859-1,没有问题。问题是,我还需要能够检索这个字符串作为UTF-8,但我还没有成功。 我尝试将字符串从ISO转换为UTF-8时,从DB检索使用此方法: 不幸的是,在这种情况下,特殊字符只是显示为问号。 原始字符串:测试从DB检

  • 有几个众所周知的python代码样式规则,它们被认为是默认的,我试图坚持: 换行,使其不超过79个字符。 保持缩进4个空格长。 另一个常见的编程建议是 避免全局变量 换句话说,应该始终使用接受所有变量作为参数的函数,并避免直接从更高范围读取的类似Pascal的过程。 然而,在某些情况下,人们肯定应该打破其中的一些规则。例如,如果涉及具有长参数列表的函数。它们有两个不同的问题: 首先,在凹凸不平的街

  • Cygwin是许多自由软件的集合,最初由Cygnus Solutions开发,用于各种版本的Microsoft Windows上,运行UNIX类系统。Cygwin的主要目的是通过重新编译,将POSIX系统(例如Linux、BSD,以及其他Unix系统)上的软件移植到Windows上。Cygwin移植工作在Windows NT、Windows 2000、Windows XP以及Windows Ser

  • cygwin-portable-installer What is it? Features Installation Customizing the installer Update License What is it? cygwin-portable-installer is a self-containing Windows batch file to perform an unatten

  • 在这一页上https://www.bestbuy.ca/en-ca/category/laptops-macbooks/20352(这是笔记本电脑结果页面,其中列出了许多笔记本电脑,我正在尝试获取这台电脑) WebElement--“HP 15.6”笔记本电脑-银色(Intel Core i3-1005G1/256GB SSD/8GB RAM/Windows 10),使用xpath,下面是我的xp