XML中的字符编码问题

时间:2012-10-12 09:57:28

标签: character-encoding

这个词给我带来了麻烦。 Brúðkaup

在我的cms中,在网页的顶部我有这一行。

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

数据库将上面的单词存储为Brúðkaup,并且字符集为latin1

在我的xml文件的顶部,我有以下内容:

<?xml version="1.0" encoding="UTF-8" ?>

数据库是否使用了错误的字符编码?即使它是。为什么在html中我指定了utf8字符集并且单词显示正确。然而在XML中,我做了类似的事情而不是吗?

XML由PHP生成。我试图在我的脚本中添加以下内容。

header('charset=utf-8');

这没有任何区别。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

由于数据是latin1(= ISO-8859-1或windows-1252)编码,因此需要将其转换为UTF-8才能以UTF-8编码显示在页面上。用于此的工具取决于用于从数据库获取数据并将其放入HTML或XML文档的软件。

如果HTML文件正确显示,则在某些时候进行此类转换,或者浏览器实际解释HTML文件为latin1编码。如果服务器发送指定charset参数的HTTP Content-Type标头,则会发生这种情况 - HTTP标头覆盖meta标记。