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


How to Enable UTF-8 in PHP while displaying browser

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

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

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

我已经在 php 中启用了 UTf8.inidefault_charset = "UTF-8"

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

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

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

谢谢

"忘记"另一个选项真的很容易,尽管忘记可能是错误的词。您应该告诉您的连接对象提供 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连接的示例。

我想你得到了其中的大部分。

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

仅发送标头是不够的。