PHP HTML实体解码问题

PHP HTML实体解码问题,php,html,entity,decode,Php,Html,Entity,Decode,我在PHP5.5.8上看到我得到了奇怪的数据,当我解码html实体时,我得到了某种类型的损坏字符或其他东西 回显html_实体_解码'&233;' 显示├®在我的终端和©在浏览器中,当它应该是。我使用了html_entity_decode'&233;',ENT_引用“UTF-8”,并将我的默认字符集也定义为UTF-8。问题是我在另一台服务器上试用过,效果很好。但在我当地的环境中,它失败了。。可能与某些设置有关,但我不知道在哪里查找。有人能帮忙吗?似乎您的编码不匹配,请检查您的php.ini,如果

我在PHP5.5.8上看到我得到了奇怪的数据,当我解码html实体时,我得到了某种类型的损坏字符或其他东西

回显html_实体_解码'&233;'


显示├®在我的终端和©在浏览器中,当它应该是。我使用了html_entity_decode'&233;',ENT_引用“UTF-8”,并将我的默认字符集也定义为UTF-8。问题是我在另一台服务器上试用过,效果很好。但在我当地的环境中,它失败了。。可能与某些设置有关,但我不知道在哪里查找。有人能帮忙吗?

似乎您的编码不匹配,请检查您的php.ini,如果您的默认字符集没有utf-8,那将把事情搞砸

您还可以在运行时使用ini_set进行设置


ini_集“默认字符集”、“utf-8”

在将它们放入浏览器之前,您尝试解码它们有什么原因吗?浏览器将自动解码实体。不,那只是出于测试目的。它正在被解码,插入我的数据库,然后在以后的时间使用,而不是在网站上。这就是为什么我不是简单地把实体放在一边,它们不会在浏览器中使用。你确定没有任何不匹配吗?。如果您的默认字符集是utf-8,数据库连接是utf-8,http头是utf-8,php文件本身是utf-8,表单数据是utf-8,那么应该没有不一致的地方。即使只是简单地重复它,忽略数据库/表单数据/http头..这就使得文件和默认字符集都是utf-8。我使用php_ini设置了默认字符集,并在php.ini文件中声明了它。这个文件绝对是utf-8。我猜这意味着我的终端没有输出utf-8?你们有什么系统?如果是linux,请记住在locale.gen文件中配置您的区域设置,然后执行locale gen。或者系统需要的任何配置。如果是windows,我相信会有很多网站解释如何检查控制台是否在utf-8中,或者如果需要如何更改它。