编程语言
首页 > 编程语言> > php – 带有重音符号的XML字符编码问题

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