您没有指定您的环境,但这种方法在我的 IDE 中的 Windows 10 上对我有用,也可以从命令窗口中使用:
- 首先,使用支持泰语字符的字体。但还要确保您选择的字体可以在命令窗口中设置,而不仅仅是在您的 IDE 中。有些可以(例如Courier Mono Thai),有些则不能(例如Angsana New)。您可以使用注册表来添加字体选择,但默认情况下可以使用Courier Mono Thai,所以我使用了那个。
- 一旦确定了可以在命令窗口中设置的字体,如果其默认字体无法处理泰语字符,您也可以在 IDE 中使用该字体。
以下是使事情正常进行的步骤:
这些说明特定于 Windows 10。如果您在不同的环境中运行,请使用您的平台和 IDE 的完整详细信息更新您的问题。
2019 年 12 月 15 日更新以提供另一种方法:
而不是使用命令窗口中的代码页 874(泰语),您可以这样做:
这是代码:
package thaicharacters;
import java.io.PrintStream;
import java.io.UnsupportedEncodingException;
import java.nio.charset.StandardCharsets;
public class ThaiCharacters {
public static void main(String[] args) throws UnsupportedEncodingException {
String engParam = "Beautiful";
String thaiParam = "สวย";
// Write the output to a UTF-8 PrintStream:
PrintStream ps = new PrintStream(System.out, true, StandardCharsets.UTF_8.name());
ps.println("UTF-8: " + engParam + ":::" + thaiParam);
}
}
这是命令窗口中的输出,显示:
- 使用默认代码页 (437) 或泰语代码页 (874) 时无法正确呈现泰语字符。
- 泰语字符使用 UTF-8 代码页 (65001) 正确呈现:
