Php 如何转换\u009
im尝试使用html\u实体\u解码将Ba\u009aka Voda转换为正确的字符Php 如何转换\u009,php,encoding,character-encoding,Php,Encoding,Character Encoding,im尝试使用html\u实体\u解码将Ba\u009aka Voda转换为正确的字符 echo html_entity_decode("Ba	aka Voda\n", ENT_COMPAT); echo html_entity_decode("Ba	aka Voda\n", ENT_QUOTES ); echo html_entity_decode("Ba	aka Voda\n", ENT_QUOTES, 'UT
echo html_entity_decode("Ba	aka Voda\n", ENT_COMPAT);
echo html_entity_decode("Ba	aka Voda\n", ENT_QUOTES );
echo html_entity_decode("Ba	aka Voda\n", ENT_QUOTES, 'UTF-8');
echo html_entity_decode("Ba	aka Voda\n", ENT_NOQUOTES);
echo html_entity_decode("Ba	aka Voda\n", ENT_HTML401);
echo html_entity_decode("Ba	aka Voda\n", ENT_XML1);
echo html_entity_decode("Ba	aka Voda\n", ENT_XHTML);
echo html_entity_decode("Ba	aka Voda\n", ENT_HTML5);
答复总是:
Ba aka Voda
预期结果应该是:巴什卡伏特加
我做错了什么?将
mb\u convert\u encoding()
与preg\u replace\u callback()
结合使用:
这个函数<代码> MbE-ErgEx替换< /代码>可以在你的解决方案中考虑到:“我做了什么错事?”——对于初学者来说,你说你想替换<代码> \U9009,但是那实际上不包含在你的任何示例数据中……对不起,我已经用“和”XX9替换了“\U9009”;因为我在另一篇文章中读到,这应该在html解码之前完成。html实体解码(“Ba\u009aka Voda”)只是响应“Ba\u009aka Voda”
$input = "Baška Voda";
$output = preg_replace_callback("/(&#[0-9]+;)/", function($m) { return mb_convert_encoding($m[1], "UTF-8", "HTML-ENTITIES"); }, $input);
echo $output; // Baška Voda