无法使用 java 在 windows 服务器中保存 utf8 文件

can not save utf8 file in windows server with java

我有一个简单的 java 应用程序,可以在 utf-8 编码中保存一些 String。 但是当我用记事本和save as打开那个文件时,它显示它是编码ANSI。现在我不知道问题在哪里? 我保存文件的代码是

        File fileDir = new File("c:\Sample.txt"); 
        Writer out = new BufferedWriter(new OutputStreamWriter(
                new FileOutputStream(fileDir), "UTF8")); 
        out.append("kodehelp UTF-8").append("\r\n");
        out.append("??? UTF-8").append("\r\n");
        out.append("???? UTF-8").append("\r\n"); 
        out.flush();
        out.close();

您写入文件的字符(如代码片段中所示)位于 UFT-8 的基本 ASCII 子集中。记事本很可能会自动检测格式,并且在 ASCII 范围之外看不到任何内容,因此确定文件是 ANSI。

如果您想强制执行不同的决定,请放置完全超出 ASCII 范围的字符,例如 õ

您示例中的 ??? 字符串可能是 UTF-8。如果是这样。确保您的 IDE and/or 构建工具将文件识别为 UTF-8,并且文件确实是 UTF-8 编码的。如果您提供有关您的构建系统的更多信息,那么我们可以进一步提供帮助。