Php html_实体_解码未按预期工作

Php html_实体_解码未按预期工作,php,linux,character-encoding,Php,Linux,Character Encoding,我正在将一个PHP应用程序移动到另一台服务器,在字符解码方面有一些问题: 旧服务器(带Plesk面板的CentOS): echo htmlentities('ú'),ENT_引号,'UTF-8');//结果ú; echo html_entity_decode(“ú”,ENT_引号,'UTF-8');//结果ú尝试以下方法 echo htmlentities('ú', ENT_QUOTES, 'UTF-8'); echo html_entity_decode('&u

我正在将一个PHP应用程序移动到另一台服务器,在字符解码方面有一些问题:

旧服务器(带Plesk面板的CentOS):

echo htmlentities('ú'),ENT_引号,'UTF-8');//结果ú;
echo html_entity_decode(“ú”,ENT_引号,'UTF-8');//结果ú尝试以下方法

echo htmlentities('ú', ENT_QUOTES, 'UTF-8');
echo html_entity_decode('ú', ENT_QUOTES, 'ISO-8859-1');

您在HTML输出中发送了错误的字符集说明符。是的,但我想知道为什么同一个函数在一台服务器上按预期工作,而不是在新服务器上。您为什么要责怪该函数?HTML输出在任何地方都不包含charset=或encoding=属性。如果发送UTF-8文本,但将html页面或http标题保留为声明拉丁语-1,则不会错误地呈现这些行。如果在新服务器上测试这些行,则结果是预期的,但如果在旧服务器上测试这些行,则会得到错误的结果。我需要知道为什么两台服务器上的结果不同。
echo htmlentities('ú'), ENT_QUOTES, 'UTF-8'); // Result ú    
echo html_entity_decode('&uacute', ENT_QUOTES, 'UTF-8'); // Result ú <= not expected
echo html_entity_decode('&uacute', ENT_QUOTES, 'ISO-8859-1'); // Result ú <= expected
echo htmlentities('ú', ENT_QUOTES, 'UTF-8');
echo html_entity_decode('&uacute;', ENT_QUOTES, 'ISO-8859-1');