我遇到的问题是我从数据库中生成的数据生成的XML文件。
我正在指定UTF-8的编码类型。
我有一些文字,当我在浏览器中查看它时,或者在数据库中看起来代表一个é
字符。但是,当我在Notepad ++中查看XML文件时,它显示为 [xE9] 。
这是我的XML文件顶部的定义:
<?xml version="1.0" encoding="UTF-8" ?>
<rss version ="2.0" xmlns:g="http://base.google.com/ns/1.0">
这是我的XML文件的摘录,并显示导致问题的字符。我很困惑为什么它显示为非UTF-8字符,如下所示,但这就是我的XML无效的原因。
<description><![CDATA[work appliqu顤ress. Picco three-quarter sleeved style. Cutwork appliqu顦eatures fitted, with side pockets.]]></description>
在我的PHP脚本中,我使用的是htmlspecialchars函数,但它似乎没有处理这个字符:
<description><![CDATA[<?php echo htmlspecialchars($product['product-description']) ?: 'CRMPicco Online'; ?>]]></description>
不幸的是,文件中有许多实例存在此字符,所以我不能只从数据库中删除一个字符。
我应该能用PHP清理它吗?
答案 0 :(得分:0)
这可以使用PHP中的iconv
函数来完成:
$text = iconv("UTF-8","UTF-8//IGNORE",$text);
我已经更改了代码以使用它,它可以工作。