Java 用带有重音字母的语言转义HTML

Java 用带有重音字母的语言转义HTML,java,html-escape-characters,Java,Html Escape Characters,如果我不想让它转义重音字符,例如字符串“Matías”中的重音字符,建议使用Java中的哪个html转义方法,重音字符应该保持不转义 StringEscapeUtils.escapeHtml()和Spring的htmlitls.htmlEscape()都对这些字母进行转义。使用Spring的,您可以传递类似这样的编码。根据JavaDoc,如果字符采用给定的编码(或者至少我是这样理解的),就不会对其进行转义。Guava的HtmlEscapers.HtmlEscapers().escape(inpu

如果我不想让它转义重音字符,例如字符串“Matías”中的重音字符,建议使用Java中的哪个html转义方法,重音字符应该保持不转义


StringEscapeUtils.escapeHtml()和Spring的htmlitls.htmlEscape()都对这些字母进行转义。

使用Spring的,您可以传递类似这样的编码。根据JavaDoc,如果字符采用给定的编码(或者至少我是这样理解的),就不会对其进行转义。

Guava的HtmlEscapers.HtmlEscapers().escape(inputString)在不指定编码的情况下使用Apache commons文本完成了这项工作。

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