java – JSP显示单引号和双引号作为符号

我有一个JSP页面检索数据,当单引号或双引号出现在文本中时,它们显示为此符号.

JSP代码

Meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        

示例:订单的描述应如下所示,

“20 – 4”x 6“小部件”

但我得到了这个,

“20 – 4 x 6小部件”

注意:我无法修改数据库.

[编辑]

我用commons-lang-2.4.jar来逃避角色,这些是给我带来麻烦的主要角色:

>&#145 – > ??
>&#146 – > ??
>&#147 – > ??
>&#148 – > ??
>&#150 – > ??

我确信某些格式的其他字符会给我带来问题,但是,我只是替换了字符以进行临时修复,我目前正在测试下面的建议.

[解决方代码]

这可能不是最好的方法,但它完成了工作.从数据库中检索数据后,下面的代码位于支持bean中.

description = StringEscapeUtils.escapeHtml(description);

description = description.replaceAll("‘",""");
description = description.replaceAll("’",""");
description = description.replaceAll("“",""");
description = description.replaceAll("”",""");
description = description.replaceAll("–","-");

description = StringEscapeUtils.unescapeHtml(description);
最佳答案
这些可能是您数据库中的非标准字符…也许是方向性引号而不是直接上下的字符?

处理此问题的直接方法,因为您无法更改数据库中的数据,只需使用替换或正则表达式将“坏”字符替换为可正确显示的字符.

相关文章

操作步骤 1、进入elasticsearch的plugin,进入ik。进入config。 2、在config下面建立以.dic为后缀的字典...
lengend data数据中若存在'',则表示换行,用''切割。
代码实现 option = { backgroundColor: '#080b30', tooltip: { trigger: &...
问题原因 原因在于直接在js中取的变量并复制给var变量。 于是就变成这样。 解决办法 var data = &#...
前言 最近做了一个调查问卷导出的功能,需求是将维护的题目,答案,导出成word,参考了几种方案之后,选...
对于很多人来说,用字符编码都是熟能生巧,而不清楚为什么是那样的字符编码,所以我在这列了一个表,翻...