![](/img/trans.png)
[英]how to identify the special character in data file in java while reading in java?
[英]Retaining special character while reading from html java?
我正在嘗試讀取包含德語字符的 html 源文件,例如 ä ö ü ß €
使用 JSOUP 讀取
citAttr.nextElementSibling().text()
將字符串編碼為
unicodeEscaper.translate(citAttr.nextElementSibling().text())
org.apache.commons.lang3.text.translate.UnicodeEscaper
問題是在閱讀字符后變成了
但是,在讀取帶有編碼類型 UTF-8 的 CSV 時,上面的 unicodeEscaper 保存和檢索字符工作正常。
unicodeEscaper.translate(record.get(headerPosition.get(0)))
從 html 讀取有什么問題? 確實嘗試使用 StringUtilEscaper 方法,但字符仍然變成了
private String getText(Part p) throws MessagingException, IOException {
if (p.isMimeType("text/*")) {
String s = (String) p.getContent();
textIsHtml = p.isMimeType("text/html");
return s;
}
這就是我閱讀包含 html 內容的電子郵件的方式!
我今天剛剛回答了一個類似的問題......我想我可以輸入我對擴展字符集(外語字符)的了解,因為這是我編寫的軟件的主要方面之一。
String's
全部使用16-bit chars
(原始類型char
是一個16位的原始值UTF-8
這個名字有點誤導,因為它用來表示16位的“Unicode空間”(使用兩個8-位數字)這意味着 Java(和 Java String's
)表示整個 Unicode 外語字母表范圍沒有問題。String's
- 很好,沒有任何問題! 如果查看這些范圍時出現問題,則可能不是下載過程,也不是 JSoup 或HttpUrlConnection
設置。 當您在 Java 中將網頁保存為字符串時,您並沒有丟失這些字符,您實際上“免費”獲得了UTF-8
。UTF-8 String
保存到'.txt' File
或'.html' File
,如果您繼續在網絡瀏覽器中查看該內容(該文件),您可能會看到那個煩人的問號: 。 這是因為您需要確保讓您的網絡瀏覽器知道您使用 Java 保存的'.html' File
-不打算使用(更舊,更短的) 8-bit ASCII
范圍進行解釋。 如果您在任何網絡瀏覽器中查看'.html' File
,或將該文件上傳到 Google Cloud Platform(或某個托管站點),則必須執行以下兩項操作之一:
- 包括注釋中提到的
<META> Tag
:<meta charset="UTF-8">
在 HTML 頁面的<HEAD> ... </HEAD>
部分。- 或者在您必須將文件標識為
'text/html, charset=UTF-8'
任何托管平台中提供設置。 在 Google Cloud Platform Storage Buckets 中,有一個彈出菜單可以將此設置分配給任何文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.