我在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。
谢谢
答案 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文档中。
仅发送标题是不够的。