-1

我在 MySQL 配置、PHP 配置和 Apache 配置中启用了 UT8。

我可以在 phpMyAdmin 中正确查看 UT8 字符。数据正确存储在 MySQL 数据库中。

但是,当我调用 PHP 页面上的数据时,PHP 会显示一个?而不是数据库中的字符。

我在 php.ini default_charset = "utf-8" 中启用了 UTf8

我还在 PHP 页面中使用 UTF8 调用了标题: header('content-type: text/html; charset: utf-8');

有什么我错过的吗?我需要做什么才能让我的 PHP 页面正确显示字符集?

注意:phpMyAdmin 从数据库中正确显示 UTF8。

谢谢

4

2 回答 2

1

“忘记”另一个选项真的很容易,尽管忘记可能是错误的词。您应该告诉您的连接对象提供 UTF-8,这样做将使您独立于数据库的实际设置。

// tells the pdo connection to deliver UTF-8 encoded strings.
$dsn = "mysql:host=$dbHost;dbname=$dbName;charset=utf8";
$db = new PDO($dsn, $dbUser, $dbPassword);

这是 PDO 连接的示例,您可以在此处找到 mysql 和 mysqli 连接的示例。

于 2013-11-06T11:43:18.363 回答
0

我想你得到了大部分。

添加<meta http-equiv="Content-Type" content="text/html; charset=utf-8">到您的 HTML 文档中。

仅发送标头是不够的。

于 2013-11-06T11:10:31.900 回答