0

我在德国网站上的编码有问题。我有一段文字:

“Eröffnungsfeier FIS 高山滑雪 WM 2011”</p>

当此文本保存到数据库中时,我得到了?而不是那些引号。

我试过放置

header("Content-Type: text/html; charset=utf-8");
mb_internal_encoding("UTF-8");
setlocale(LC_ALL, 'de_DE.utf-8');

在文件的顶部没有成功。

当我用过

mysql_set_charset('utf8', $connect);

但是,当在到达第一个字符(如 ö)后在上面插入文本时,文本的其余部分将被删除。

表字符集和排序规则是 UTF-8。脚本文件保存为没有 BOM 的 UTF-8。

我不知道在哪里看。

4

2 回答 2

1

1) 检查您的数据库的架构 - 文本字段是否设置为存储 utf-8?

2) 听起来发布到此脚本的页面没有发送 UTF-8。它有正确的Content-Type标题吗?显示什么echo urlencode($var)?(这是查看您获得的原始字节的巧妙技巧)

于 2012-04-05T18:15:51.137 回答
0

The things I did helped. Especially mysql_set_charset('utf8', $connect);. The problem was that there was some unwanted code left by another programmer (utf8_decode). Looks like he couldn't deal with utf-8 encoding other way.

I've also found out that mysql_set_charset('utf8', $connect); is not really needed if you're consistent with the encoding from the beginning.

于 2012-04-06T08:26:25.433 回答