java - 将文件中的 WINDOWS-1252 编码文本显示为 html

标签 java utf

我有一个文本文件,其中包含 ø 和 ß 等 WINDOWS-1252 字符。该文件通过表单提交上传到 servlet,在该 servlet 中使用 opencsv 对其进行解析,并作为 List 对象返回到显示该文件的 jsp 页面。 utf-8 字符显示为 ?我试图找出编码过程中可能出错的地方。 我尝试了很多东西:

  • 我的页面有标签 <%@page contentType="text/html" pageEncoding="WINDOWS-1252"%>

  • 文件输入已编码 - new FileInputStream(file), "WINDOWS-1252")

  • 每个字符串都经过编码 - s = new String(s.getBytes("WINDOWS-1252"));

还有什么地方编码会失败?有什么想法吗?

最佳答案

一些故障排除建议:

在各个阶段调试打印或以其他方式检查十六进制文本,并验证编码是否确实符合您的预期。

确保没有 BOM(字节顺序标记),如果有并且您没有简单的方法来摆脱它,请查看此问题和其中的链接:Reading UTF-8 - BOM marker

关于java - 将文件中的 WINDOWS-1252 编码文本显示为 html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13772413/

相关文章:

java - Class.forName() 不断显示错误 : java. lang.NullPointerException

java - Fileoutputstream 和 UTF-8 文件下载

c++ - UTF8 字符串转 int

java - 如何正确读取utf8字符的url内容?

javascript - 使用 javascript 查找并替换 utf 字符

sqlite - 如何指定SQLite数据库排序规则

java - JVM 只映射堆栈页吗?

java - 从嵌套的 Java ActionListener 中调用它

java - 给定斐波那契递归函数创建内存算法

java - coSTLy 如何在连接池中打开和关闭数据库连接?