如何在显示浏览器时在PHP中启用UTF-8

时间:2013-11-06 11:09:09

标签: php utf-8

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

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

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

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

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

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

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

谢谢

2 个答案:

答案 0 :(得分: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连接的示例,您可以找到here的mysql和mysqli连接的示例。

答案 1 :(得分:0)

我认为你得到了大部分。

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

仅发送标题是不够的。