当前位置: 首页 > 知识库问答 >
问题:

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

赫连俊悟
2023-03-14

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

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

因此,系统应在其上方显示带“^”的“u”字符。而是显示“?”。

任何想法?

共有2个答案

丁绪
2023-03-14

我已经找到这个了。

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

从现在开始,窗口1250和1252的字符似乎都显示正常。

爱刚捷
2023-03-14

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

>

  • 如果不是,你会在new String(...,"Windows-1252")中得到一个Unsupport tedEncodingExc0019。(javadoc是这么说的!)

    Oracle Java文档称Windows-1252在“基本编码集”中-http://docs.oracle.com/javase/7/docs/technotes/guides/intl/encoding.doc.html, http://docs.oracle.com/javase/6/docs/technotes/guides/intl/encoding.doc.html,等等。

    我认为这里最有可能的问题是在输出端。具体来说,Java可能认为区域设置的默认字符集是ASCII或不支持该代码点的东西。

    消除问题根源的一种方法是使用Unicode转义码编写等效字符串;例如

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

  •  类似资料:
    • 我有一个Windows 1252 word文档,我想转换为UTF-8。我需要这样做才能正确地将doc文件转换为pdf。这是我目前的做法: 但是,当我在Word中打开转换后的文件()时,它无法正确显示某些字符。例如,Ü将变成ü。 我该怎么解决这个问题?当我创建一个新的BufferedReader(使用UTF-8编码)并读取时,这些字符在我的IDE控制台中正确显示。

    • 我正在利用设置。。。方法(例如SetupGetLineText)从inf文件中读取一些内容(我需要它,对通用ini解析器不感兴趣)。这些方法使用Windows-1252编码,我需要将其转换为Unicode。我使用一个字符串得到了这个结果,比如这个(输入类型为string): 编码。UTF8.编码。编码(1252).GetBytes(输入)); 即使这很好,您也可以立即从SetupGetLineTe

    • 问题内容: 我目前正在开发一个用于验证和解析CSV文件的应用程序。CSV文件必须以UTF-8编码,尽管有时我们会以错误的编码获得文件。CSV文件很可能包含德语字母的特殊字符(Ä,Ö,Ü,ß),因为CSV文件中的大多数文本都是德语。 对于验证器,我需要确保文件是UTF-8编码的。只要不存在特殊字符,解析就很可能没有问题。 到目前为止,我尝试将文件读取为字节并使用一些库来检测(或猜测)编码。我尝试了此

    • MobaXterm 目录中文显示乱码,如下是sftp连接的情况 window是windows server 尝试修改为ascii mode也是乱码

    • 我对java servlet文件中的UTF-8有一些问题。当我在URL中获得参数值时,我对UTF-8字符有一些问题。它不能正确显示日语字符。 Jsp标头已具有 我将连接器中的URIEncoding设置添加到服务器中的UTF-8。xml。 我在jsp中编写了如下代码。 然后,我在java servlet中编写了以下代码。 我还使用请求进行了测试。setCharacterEncoding()方法,但它

    • 问题内容: 由于不确定的原因,我有一个旧版应用程序开始表现异常。它生成一堆HTML,由ActivePDF转换为PDF报告。 该过程如下所示: 从数据库中提取带有替换标记的HTML模板(例如,“〜CompanyName〜”,“〜CustomerName〜”等) 用真实数据替换令牌 使用简单的正则表达式函数对HTML进行整理,该函数可对HTML标签属性值进行格式设置(确保引号等,因为ActivePDF