0

这个词给我带来了麻烦。布鲁考普

在我的 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');

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

4

1 回答 1

0

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

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

于 2012-10-12T13:10:16.777 回答