繁体   English   中英

Windows-1252编码 - 显示不正确的字符

[英]Windows-1252 encoding - incorrect characters displayed

我有一个带有在Windows-1252中编码的字符的缓冲区。 但是,当我使用适当的编码创建一个新的String时,而不是预期的结果,我经常会得到询问标记,例如。

byte[] tmps = new byte[] {(byte) 0xfb};
System.out.println (new String (tmps,0,1,"Windows-1252" ));

结果,系统应显示“u”字符,其上方带有“^”。 而是显示“?”。

任何想法?

首先,Windows-1252 受支持的编码:

我认为这里最可能出现的问题是输出端。 具体来说,Java可能会认为您的语言环境的默认字符集是ASCII或不支持该代码点的内容。

消除Windows-1252作为问题原因的一种方法是使用Unicode转义编写等效字符串; 例如

    System.out.println("\u00fb");

我已经发现了这个。

菜单运行/运行配置/下一个Java应用程序和您自己的应用程序名称/选项卡常用/下一个编码设置为UTF-8

从现在开始,Windows 1250和1252个字符似乎都显示正常。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM