我在我的网站上允许一些用户输入,后来用XML读取.每隔一段时间我就会得到这些奇怪的单引号或双引号.这些是直接从破坏我的XML的源复制的.我想知道是否有一种简单的方法来纠正我的xml中的这些类型的字符. htmlentities似乎没有触及他们.
这些角色来自哪里?我甚至不确定如何无意中输入它们.
编辑 – 我忘了澄清这些引用没有在属性中使用,但是以下列方式:
<SoMetag>User’s Input</SoMetag>
解决方法:
不要禁止和/或修改外国字符;这对你的用户来说太烦人了!这只是一个编码问题.我不知道您使用什么解析器来读取XML,但如果它相当复杂,您可以通过在XML文件的顶部包含以下编码pragma来解决您的问题:
<?xml version="1.0" encoding="UTF-8"?>
解析器的API中可能还有一个UTF-8选项.
编辑:我刚刚读到您正在浏览器中直接读取XML.大多数浏览器都会听编码编译指示!
编辑2:显然,这些引用在UTF-8中甚至不合法,所以忽略我上面所说的.相反,你可能会找到你正在寻找的东西here,正在讨论类似的问题.