4

我将 UTF-8 文本存储在 DB 中并用作text/plain; charset=utf-8Web 应用程序。所有的东西都工作正常。我可以毫无问题地在浏览器窗口上看到 UTF-8 文本。

但是当我将该文本保存到一个文件并尝试在 Windows 记事本中打开它时,我丢失了一些字符并显示为一个小矩形框。但是,文本文件在 EditPlus 和 Notepad++ 等其他编辑器中看起来不错。

这是如何引起的,我该如何解决?

4

3 回答 3

3

如果它在其他编辑器中看起来不错,那么文本本身就很好。如果它在浏览器中看起来不错,那么响应也可能很好(但最好在浏览器中检查页面信息并查看编码是什么)。您的问题可能与记事本本身有关。有时它需要 BOM 才能正确检测 Unicode。但是 BOM 可以破坏其他不支持它的应用程序。您还应该在不同版本的 Windows 上尝试记事本。我刚刚尝试在 Windows 7 中打开一个 UTF-8 文件,对我来说看起来不错。

于 2012-07-10T12:09:00.693 回答
-2

如果您使用 tomcat 作为应用程序服务器,您可能希望将其添加到其配置中:“-Dfile.encoding=UTF-8”

另外,请看这里: 设置默认 Java 字符编码?

于 2012-07-10T12:05:14.537 回答
-2

您需要使用如下:

response.setContentType("text/html; charset=utf-8"); response.setCharacterEncoding("UTF-8");

于 2016-11-26T10:02:36.633 回答