【问题标题】:Which charset is '<'? [closed]哪个字符集是'<'? [关闭]
【发布时间】:2013-05-19 18:34:30
【问题描述】:

我在我的 phpbb 数据库中找到了这个字符:<。哪个字符集是?

我在 MySQL 上,我有 PhpBB 和 phpmyadmin。代码显示<

【问题讨论】:

    标签: mysql character-encoding


    【解决方案1】:

    那不是字符集,它是一个字符实体引用

    这是 HTML 和 XML 中已知的 转义 方法(其中和号可能有特殊含义)。

    字符集和编码仍然可以是任何东西(例如 ASCII7、UTF8 或 latin1,或者基本上是其他任何东西,因为 &amps; 可以用任何现代字符集表示)。

    【讨论】:

    • 首先感谢您的回复。其次,你能告诉我为什么它在phpbb论坛中正确显示,而在vbulletin中没有正确显示吗?我的意思是,在 phpbb 我有'
    • @DanieleImpagliazzo 最有可能 PhpBB 预解析实体 (< --> < --> <) 但 vbulletin 将其按原样传递给页面,因此浏览器将其解释为< --> <.
    • @DanieleImpagliazzo 如果它被视为 HTML 并且因此不会进一步转义,则会“正确”显示(嗯,不正确)。但是,如果该值被视为纯文本,则任何 HTML 特殊字符(如 &)都将再次转义,从而导致 &。什么是正确完全取决于应用程序。它必须是对称的。通常这样的错误意味着输入在被“视为 HTML”之前没有被转义处理
    • 有没有办法从数据库中转换这些实体?
    • @DanieleImpagliazzo 当然。 UPDATE your_table SET your_field = REPLACE(your_field, '&', '&') WHERE your_field LIKE '%&%'。等等。这是否是一个好主意取决于应用程序
    【解决方案2】:

    这些是 HTML 特殊字符。你可以得到他们的完整列表here。跟charset关系不大。

    【讨论】:

    • 首先感谢您的回复。其次,你能告诉我为什么它在phpbb论坛中正确显示,而在vbulletin中没有正确显示吗?我的意思是,在 phpbb 我有'
    • 我不确定,但在 vBulletin 中它可能会被转义以正确显示在帖子中。
    猜你喜欢
    • 2016-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多