PHP检测和转换特殊字符?

时间:2012-09-08 20:02:30

标签: php unicode hex ascii special-characters

在PHP中,当我读取数据时,假设数据(字符串块)包含HTML特殊字符DECIMAL HEX代码,如:
This is a sample string with œ and š

我们可以说上面的HEX代码是其对应符号的源代码,这些代码将在浏览器中呈现为正确的符号。

但我想要做的是,对于这些角色(例如),我希望这些HEX(es)作为转换后的原始角色符号,如:
This is a sample string with œ and š

那么我如何检测字符串中的任何十进制十六进制代码并将它们转换为最终的符号,而不是保留十六进制代码?

注意:
为了更清晰,是否有任何功能检测并转换十六进制到符号?
喜欢:
œ => œ
š => š

3 个答案:

答案 0 :(得分:2)

$s = "This is a sample string with œ and š";
echo html_entity_decode($s, ENT_COMPAT, 'UTF-8');

答案 1 :(得分:1)

这些是HTML实体 - 您可以使用html_entity_decode()返回实际符号。

答案 2 :(得分:-1)

确保您使用的任何内容(数据库表,json或xml用于数据交换,html文件等等)采用UTF-8格式