0

我有希腊的网站,并在它的所有帖子看起来SOURSE像:如何希腊语的HTML实体转换为实际的符号在PHP

<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> 

其实它看起来像此网页上是这样的:

&Omicron; Μ π ό ν&&il&&sigmaf; Γ ύ ρ&sigmaf; Drunken Clam θ α δ&ε; ί τ&ε; θ α&ε; ί ν α ι σ&ε; θ έ σ η ν α κ&ε; ρ δ ί ζ&ε; ι ό σ&om; 1000 Χ τ&amp; σ&upsilon; ν&om;&lambda; ι κ&om; ύ σ τ&om; ι χ ή μ α τ&sigmaf; &小量; π ι&lambda; έ γ&om; ν τ α&sigmaf; &小量; ί τ&ε;克利夫兰,彼得,泥潭,κ α ι

我需要改变HTML实体实际符号(我使用的是UTF-8编码。) 似乎html_entity_decode()并没有这样做。在这里任何图书馆或somenthing为我能够将文本转换为实际的符号。

PHP版本PHP 5.3.29

谢谢!

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

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

就像Charlotte Dunois写的。 所以我把她的答案设置为正确。

+0

* html_entity_decode()*有什么问题?它适用于我的数据。你能解释什么不适合你吗? – trincot

+0

请在您的问题中提及您正在运行的PHP版本。 – trincot

回答

2

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

https://3v4l.org/Lmt38

相关问题