簡體   English   中英

在帶有重音字母的語言中轉義 HTML

[英]Escape HTML in Languages with Accented Letters

如果我不想轉義重音字符,建議使用 Java 中的哪種 html 轉義方法,例如,在字符串“Matías”中,重音 í 應保持未轉義。

StringEscapeUtils.escapeHtml() 和 Springs 的 HtmlUtils.htmlEscape() 都對這些字母進行了轉義。

使用 Spring 的htmlEscape(String input, String encoding)您可以傳遞像"UTF-8"這樣的編碼。 根據 JavaDoc,如果字符處於給定的編碼中(或者至少我是這樣理解的),它們將不會被轉義。

Guava 的 HtmlEscapers.htmlEscaper().escape(inputString) 在沒有指定編碼的情況下做到了這一點

使用 Apache 公共文本:

   public static final CharSequenceTranslator ESCAPE_CUSTOM =
         new AggregateTranslator(
                 new LookupTranslator(EntityArrays.BASIC_ESCAPE),
                 new LookupTranslator(EntityArrays.HTML40_EXTENDED_ESCAPE)
         );
   ESCAPE_CUSTOM.translate(input);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM