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

标签 java file text utf-8 window

我有一个简单的java应用程序,它以utf-8编码保存一些String。 但是当我用记事本打开该文件并另存为时,它显示它的编码为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 和/或构建工具将文件识别为 UTF-8,并且文件确实是 UTF-8 编码的。如果您提供有关构建系统的更多信息,那么我们可以提供进一步的帮助。

关于java - 无法使用java在Windows服务器中保存utf8文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27764358/

相关文章:

java - PropertyNotFoundException : Could not find a getter for lastMoveDate in class com. hib.objects.GameBoard

java - 我可以用 java 注释做这种事情吗?

java - JSP发送具有html内容的字符串参数

java - 我应该传递类里面的哪些信息才能获得所需的结果

php - PHP 一段时间后自动删除上传的图片

python - 使用不带引号的字符串将文本文件解析为 python

c - 保存到 C 子文件夹中的文件 (.dat) 或从中读取文件 (.dat)

file - YouTube获取视频文件链接

javascript - 如何自动重复输入文字

php - 使用 PHP 多行 HTML 表单文本安全地返回屏幕并进入 MySQL?