php – 带有重音符号的XML字符编码问题
作者:互联网
我在处理项目时已经遇到过几次这个问题,我想知道是否有一个优雅的解决方案.
问题
我正在通过推特上的XML推送推特并将它们上传到我的数据库,但是当我将它们输出到屏幕时,我得到这些字符:
“moved to dusseldorf.â��”
OR
también
如果我有俄文字符,那么我会得到很多丑陋的盒子.
我想要的是在一种编码下显示正确的原生口音.我认为使用UTF-8是可能的.
我在用什么
> PHP,MYSQL
在读取XML文件后,我正在执行以下操作来清理数据:
$data = trim($data);
$data = htmlentities($data);
$data = mysql_real_escape_string($data);
我的数据库排序规则是:utf8_general_ci
网页字符集是:charset = UTF-8
我认为它可能与HTML实体有关,但我真的很感激一个在项目上全面运作的解决方案.
提前致谢.
解决方法:
替换此行:
$data = htmlentities($data);
有了这个:
$data = htmlentities($data, null, "UTF-8");
这样,htmlentities()将仅保留有效的UTF-8字符.有关更多信息,请参阅the documentation for htmlentities().
标签:php,mysql,character-encoding,xml,html-entities 来源: https://codeday.me/bug/20190726/1542500.html