我有一个包含非英文符号的UTF8字符串。我需要将它们转换为拉丁文/数字,然后将它们取回。
我尝试了htmlentities('字')
结果是å­�
,但我需要类似x3445
的内容,因此我可以使用html_entity_decode()
或类似的内容返回原始字符。
如何使用PHP执行此操作?
答案 0 :(得分:1)
不幸的是,htmlentities只会编码具有命名实体的字符。要将其他所有内容转换为数字实体,您可以使用mb_encode_numericentities
。例如,
$string = mb_encode_numericentity(htmlentities($string, ENT_QUOTES, 'UTF-8'), array (0x80, 0xffff, 0, 0xffff), 'UTF-8');
答案 1 :(得分:0)
htmlentities函数的第三个参数允许您设置要用于转换的字符集。 See http://au.php.net/manual/en/function.htmlentities.php