gpt4 book ai didi

String 类的 Java 1.6 方法不适用于所有字符

转载 作者:行者123 更新时间:2023-11-29 03:01:22 25 4
gpt4 key购买 nike

我有一个由“ò、ý、ü、û、ú、ù、÷、ö、ï、î​​”等字符组成的字符串。在使用 Java 1.6 编译该类之前,myString.split("ý");myString.contains("ý"); 等方法可以工作。使用命令行编译类后,这些方法不适用于这些字符。我必须使用 Java 1.6。

有什么办法可以避免这个问题吗?

最佳答案

默认情况下,Java 源文件以平台默认编码存储,如果未指定 -encoding,这就是 javac 读取文件的方式。

如果您在 Eclipse 中将字符键入/粘贴到源文件中,Eclipse 会自动将编码更改为 UTF-8(我相信它会首先提示您,但我不确定)。

在 Eclipse 中,理论上每个 Java 源都可以采用不同的编码。 Eclipse 会记住每个源文件的编码,您可以在 Eclipse 的文件属性对话框中查看和/或更改该编码。

如果 Eclipse 已将编码更改为 UTF-8,则在 Eclipse 中编译将正常工作,但在外部编译,例如通过调用 javac 或使用 Ant,将不起作用,因为默认情况下它们将使用平台默认编码读取源文件。

因此,如果您有混合的源文件编码,则必须将它们全部更改为相同的编码,因此使用 javac 可以指定通用编码。您有两个选择:

  • 将所有文件转换为UTF-8,并指定-encoding UTF-8
  • 将所有文件转换为平台默认编码,并对该编码不支持的字符使用 unicode 转义符,对于 ý\u00FD .

关于String 类的 Java 1.6 方法不适用于所有字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34648077/

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