0

我从数据库中的数据生成的 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 中清理它吗?

4

1 回答 1

0

这可以使用iconvPHP 中的函数来完成:

$text = iconv("UTF-8","UTF-8//IGNORE",$text);

我已经更改了代码以使用它,并且它可以工作。

于 2012-05-18T09:05:21.077 回答