我想将html实体转换为UTF-8,但是mb_convert_encoding破坏了已经被UTF-8编码的字符.正确的方法是什么?
$text = "äöü ä ö ü ß";
var_dump(mb_convert_encoding($text, 'UTF-8', 'HTML-ENTITIES'));
// string(24) "äöü ä ö ü ß"发布于 2015-07-10 10:39:27
mb_convert_encoding()不是您想要实现的正确函数:您应该真正使用解码器(),因为它只会将实际的html实体转换为UTF-8,不会影响字符串中现有的UTF-8字符。
$text = "äöü ä ö ü ß";
var_dump(html_entity_decode($text, ENT_COMPAT | ENT_HTML401, 'UTF-8'));这给
string(18) "äöü ä ö ü ß"演示
发布于 2015-07-10 10:30:42
在我的本地主机上我得到了string(18) "äöü ä ö ü ß"。
我想这和你的页面编码有关。使用Notepad++编辑文件,并从工具栏转到编码,并更改为'Encode in ANSI‘。如果它不工作,然后尝试‘编码在UTF-8没有BOM’。
发布于 2018-03-15 05:32:52
https://stackoverflow.com/questions/31338277
复制相似问题