首页 > 解决方案 > Java 编码问题

问题描述

在 Java JDK 9 String s = "एक गाव में एक किसान" 定义以下字符串时,它会引发以下错误: Unmappable character (0xE0) for encoding US-ASCII 我知道它是 UTF-8 编码的,但因为 JDK 9 有默认值字符集设置为 US-ASCII 但我找不到如何将默认字符集从代码本身更改为 UTF-8?

标签: javaencodingascii

解决方案


我想从代码中更改默认字符集

不可能1

源代码只是文本,它没有定义用于存储该文本的编码。

但是,您可以通过将所有非 ASCII 字符指定为 Unicode 转义符来确定您的源代码是 US-ASCII,因此编码无关紧要(不包括 UTF-16、UTF-32 等):

String s = "\u090f\u0915 \u0917\u093e\u0935 \u092e\u0947\u0902 \u090f\u0915 \u0915\u093f\u0938\u093e\u0928"

当然,很难知道字符串在说什么。

1)由于Java不支持BOM。


推荐阅读