繁体   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