0

我有希腊网站,其中的所有帖子看起来都像:

<p>&Omicron; &Mu;&pi;&#972;&nu;&omicron;&upsilon;&sigmaf; &Gamma;&#973;&rho;&omicron;&sigmaf; Drunken Clam &theta;&alpha; &delta;&epsilon;&#943;&tau;&epsilon; &theta;&alpha; &epsilon;&#943;&nu;&alpha;&iota; &sigma;&epsilon; &theta;&#941;&sigma;&eta; &nu;&alpha; &kappa;&epsilon;&rho;&delta;&#943;&zeta;&epsilon;&iota; &#972;&sigma;&omicron; 1000&Chi; &tau;&omicron;&upsilon; &sigma;&upsilon;&nu;&omicron;&lambda;&iota;&kappa;&omicron;&#973; &sigma;&tau;&omicron;&iota;&chi;&#942;&mu;&alpha;&tau;&omicron;&sigmaf; &epsilon;&pi;&iota;&lambda;&#941;&gamma;&omicron;&nu;&tau;&alpha;&sigmaf; &epsilon;&#943;&tau;&epsilon; Cleveland, Peter, Quagmire, &kappa;&alpha;&iota;</p>

实际上它在页面上看起来像这样:

Ο Μπόνους Γύρος Drunken Clam θα δείτε θα είναι σε θέση να κερδίζει όσο 1000Χ του συνολικού στοιχήματος επιλέγοντας είτεκα 克利夫兰,彼得,泥潭,

我需要将 html 实体更改为实际符号(我使用的是 UTF-8 编码。)似乎 html_entity_decode() 不这样做。这里有任何图书馆或类似的东西让我能够将文本转换为实际符号。

PHP 版本 PHP 5.3.29

谢谢!

更新:对不起,这是我可耻的错误。我在调试问题时弄乱了 mb_internal_encoding() 和 'default_charset' ini 指令。所以我只需要将 html_entity_decode 工作的编码设置为第三个参数:

   $decoded = html_entity_decode($str, ENT_COMPAT | ENT_HTML401, "UTF-8");

正如夏洛特·杜努瓦所写。所以我把她的答案设为正确。

4

1 回答 1

4

如果您的数据是 html 编码的(例如使用 PHP 的函数htmlentities),您可以使用html_entity_decode将其解码回来。如果您在 php.ini 中设置的字符集不同,您可能需要设置字符集参数。

https://3v4l.org/Lmt38

于 2016-01-26T10:33:36.740 回答