【发布时间】:2012-10-25 15:04:14
【问题描述】:
我正在使用 php 解析一个 xml 文档。
当我在浏览器中看到结果时,我得到以下字符:
ñ 而不是西班牙语 ñ
à 代替 í
á 代替 á
ó 而不是 ó
é而不是é
我打算使用 str_replace 并将每个奇数字符替换为好的字符,但遗憾的是,之前的模式只是有时会发生,而且通常我有大量奇数字符:(
xml 标题为:
<?xml version="1.0" encoding="iso-8859-1"?>
但是如果我把它改成 utf-8 它就不会被打印出来..
我使用 simplexml_load_string 将 xml 加载为字符串(来自类似的数据库)
你能给我一些关于如何解决这个问题的想法吗?
非常感谢
【问题讨论】:
-
我理解 PHP 显示这些字符是否正确?您的 HTML 输出设置为 UTF 吗?
-
这意味着 UTF-8 数据被误解为 iso-8859-1.. 您需要设置 utf-8 内容类型标头
-
在您的浏览器中,尝试在“查看->字符编码”菜单下更改字符编码。一旦你找到正确显示的那个,在你的代码中使用它。
标签: php xml encoding xml-parsing