簡體   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