【问题标题】:Getting "�" in HTML content在 HTML 内容中获取“�”
【发布时间】:2015-05-30 06:18:39
【问题描述】:

我有一个带有一些描述的简单网页,它的数据来自 mysql 数据库,我正在使用 PHP 显示它,但在一些描述中,我在两个词之间得到“�”符号。 我已经尝试过 htmlentities 和 htmlspecialchars,但是什么都不起作用,最后我从元标记中删除了 charset='utf-8' ,然后它就可以工作了。但它是强制使用的。

那么,我怎样才能去掉我的描述中的“�”?

【问题讨论】:

  • 是否有可能您的 PHP 代码是从其他地方复制和粘贴的,或者您的数据库中的数据是?尝试在问题行手动重新键入您的 PHP 代码,并尝试使用新数据手动更新问题表行以查看您的问题是否已解决。
  • 您的字符与字符集不匹配。你有没有看过"的引用,但它看起来像是斜体,但不是,它只是一个混乱的字符。通常这发生在来自其他地区的人的数据中,插入数据,然后将其打印在页面上。您不应该删除元字符集标签。看看数据,你在哪里得到奇怪的符号,你可能有一个搞砸的字符。即使您不确定,也请删除该角色,然后自己将其放回原处。
  • 尝试在您的 .htaccess 文件中添加:AddDefaultCharset utf-8
  • 是的,我已经从一个站点复制数据,并插入到数据库中,但是我复制了 1500 多个描述。所以很难手动重新输入?还有其他解决办法吗?
  • � 是有效文本,指示由于在转换过程中错误识别源编码而导致数据丢失的点。理想情况下,您会返回并以正确的方式获得它。删除字符集元标记可能会导致进一步的数据丢失——只是它恰好使结果看起来更漂亮。

标签: php html mysql utf-8


【解决方案1】:

你可以试试这个。使用下面的 php 内置函数来避免给定字符串上的那些字符。在您的情况下,来自数据库的数据。

html_entity_decode($given_string,ENT_QUOTES, "ISO-8859-1");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-29
    • 2015-02-08
    • 2012-10-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多