出现在HTML格式的特殊字符

时间:2014-10-27 06:57:50

标签: html mysql perl browser

我有一个用Perl,Apache和Mysql开发的遗留应用程序。

应用程序中的某些部分显示该字符的HTML代码。该问题与键盘上的以下字符隔离:

  1. 分号
  2. 逗号
  3. 引号
  4. 小于符号
  5. 大于符号
  6. Refer the screenshot.

    存储此数据的表也存储这样的数据。该表是CHARSET = latin1。

    Refer DB screenshot.

    该应用程序正在使用

    <meta charset="utf-8" />
    

    在HTML呈现中。

    我的问题是“如何解决这个问题”?

    • 我应该对DB字符集进行一些更改吗? (我有多个 在应用程序中的地方被破坏和多个表 用于各个部分)
    • 我应该在PERL数据库连接中进行一些更改吗? (这看起来是处理问题的最佳位置,因为这对于使用数据库交互的任何模块都是通用的)模块,因此它将对特殊字符进行解码/编码。

    还有其他建议吗?

1 个答案:

答案 0 :(得分:1)

看起来不像DB charset问题,它看起来像HTML转义问题。您似乎在数据值中预先转义了字符实体引用,这些引用通常不会被HTML浏览器转义,但它们位于文本框内并进行转义。它们是如何渲染的?某些AJAX代码没有正确呈现转义?

https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references#Character_entity_references_in_HTML