无法使用 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 编码的。如果您提供有关您的构建系统的更多信息,那么我们可以进一步提供帮助。
我有一个简单的 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 编码的。如果您提供有关您的构建系统的更多信息,那么我们可以进一步提供帮助。