我的一个节点中有一些带有一些html的xml提要。 所以基本上就像在php中这样做了
<user_id>'.$review[user_id].'</user_id>
<content>'.htmlspecialchars(bbcode($review[content])).'</content>
<content_bbcode>'.htmlspecialchars($review[content]).'</content_bbcode>
<added_date>'.$review[added_date].'</added_date>
xml是ISO-8859-1编码
<?xml version="1.0" encoding="ISO-8859-1"?>
没有更多标题。
另一方面,我只是使用simplexml_load_string来获取文件并将其全部分解为组件部分(节点)。
我的问题是,对于一些角色'£',例如其他人出现在角色之前,而在其他场合他们根本不显示。我的网站也是ISO-8859-1。有没有人知道这个或工作的任何原因。
我听说过一些关于iconv的东西,但似乎并不想工作。 其他想法是创建一个str_replace脚本,但这听起来有点复杂,我不能得到所有的字符。
感谢您的帮助。 理查德
答案 0 :(得分:2)
您如何使用iconv
?在输出之前尝试这个:
$review['content'] = iconv('UTF-8', 'ISO-8859-1', $review['content']);
P.S。与“”问题无关,但您可能缺少数组键的引号 - 它应该是$review['content']
,而不是$review[content]
。对于使用$review
数组的其他地方也是如此。
答案 1 :(得分:0)
您似乎以UTF-8发送输出,但将字符集指定为Latin-1。您的数据库连接上有正确的字符集吗?
MySQL查询SET NAMES latin1
会将来自数据库连接的所有以下数据转换为ISO-8859-1(Latin1)。
答案 2 :(得分:0)
最后我想我刚进去并删除了它们。 理查德