gpt4 book ai didi

java - 在 Java 中将字符串从 Windows 字符集转换为 UTF 8

转载 作者:可可西里 更新时间:2023-11-01 12:01:32 25 4
gpt4 key购买 nike

所以我必须为从 .bat 文件调用的 Java 应用程序提供一些参数。这样做会使参数具有系统的字符集编码,这会使某些字符显示错误。这个我试过了

     String titulo;

titulo = new String (args[1].getBytes(),"Cp1252");

还尝试了此列表中的其他几个 http://docs.oracle.com/javase/1.4.2/docs/guide/intl/encoding.doc.html他们都没有成功。我还能如何将字符串从 Windows 字符集编码为 Java 的 UTF 8?非常感谢!

问候,罗德里戈。

编辑: 我在 .bat 中给出的参数是 Martín,输出(显示的 JLabel)显示了这个 MartÝn。

最佳答案

Windows 命令提示符 cmd.exe 实际上不使用 CP1252。它使用什么显然取决于系统;在西欧系统上,它很可能是 CP850。所以你可以试试这个:

titulo = new String (args[1].getBytes(),"Cp850");

你可以看看code tables for cp850检查应该发生什么:í 是拉丁语 1 中的字节 ED(并且,通过扩展,cp1252),而 cp850 中的字节 ED 是 Ý。因此:如果您从 Java GUI 向 cmd.exe 打印“í”,它将显示为“Ý”。

(但您似乎看到了相反的情况:终端中的“í”在 GUI 中显示为“Ý”。这没有意义,cmd.exe 应该通过字节 A1 到 Java,应该将其解释为“¡”..)

关于java - 在 Java 中将字符串从 Windows 字符集转换为 UTF 8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9436188/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com