繁体   English   中英

以html格式显示WINDOWS-1252编码文本

[英]displaying WINDOWS-1252 encoded text from file as html

我有一个文本文件,带有ø和ß这样的WINDOWS-1252字符。 该文件通过表单提交上载到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(字节顺序标记),如果有并且您没有摆脱它的简便方法,请查看此问题并在其中链接: 读取UTF-8-BOM标记

确定问题已解决。 因此,第一个问题是它根本不是utf-8文件,而是WINDOWS-1252。 我确定使用juniversalchardet lib(非常有帮助且易于使用)。 然后,我必须确保使用FileInputStream读取具有正确字符集的文件:

new FileInputStream(file), "WINDOWS-1252")

我只需要确保使用标签<%@page contentType="text/html" pageEncoding="WINDOWS-1252"%>在jsp文件中以正确的字符集显示它即可

差不多了

(1)确定字符集

(2)确保您正在正确读取文件

(3)确保正确显示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM