我有一个PHP脚本,用于查询MySQL数据库并以XML格式输出显示该信息。
我有一个麻烦的专栏,我无法控制(我只能选择)。此列填充了字符返回等。
在MySQL查询中,我尝试在此列上使用REPLACE,如下所示:
REPLACE(PropertyInformation, '\r\n', '') AS PropertyInformation
在PHP脚本中,我还将导出的XML包装在CDATA中,因为我被告知这可能会有所帮助,如下所示:
<Description><![CDATA[' . $PropertyInformation . ']]></Description>
我也在脚本中形成这样的XML:
header("Content-Type: text/xml;charset=UTF-8");
echo '<?xml version="1.0" encoding="UTF-8"?>
答案 0 :(得分:1)
由于您的数据不是UTF-8,即使您声称它是(<?xml version="1.0" encoding="UTF-8"?>
)
您需要将数据转换为此格式。
有三种方法可以做到,
您可以通过转储数据库,向其发出iconv转换命令并将其导回来做第一个选项。
第二,您将使用SELECT CONVERT(latin1column USING utf8) ...
第三,你会再次使用iconv,假设你的数据是ISO-8859-1:$converted = iconv("ISO-8859-1", "UTF-8", $text);