我的数据库有
我的所有数据库都有:
我的主页保存为utf8,有utf8-meta-charset和php utf8-header。我的Ajax加载页面也是如此。但是,会显示ä,ö,ü等字符:“?”
如果我在主页的开头设置名称
set names utf8 COLLATE 'utf8_general_ci'
加载Ajax的内容是正确的,但我的主页ö,ü...显示“?”
主页内容来自mb_detect_encoding($str)
;还是utf8 ......
我应该在哪里看?
注意:每个内容都包含在include_once中 所以index.php-> loged.php-> content.php
答案 0 :(得分:0)
让您的网站使用UTF-8:
$mysqliDb->set_charset('utf8');
我试图在这篇简短的article中指出所有重点。
修改强>
对于PDO,设置字符集的语法是:
$dsn = "mysql:host=$dbHost;dbname=$dbName;charset=utf8";
$db = new PDO($dsn, $dbUser, $dbPassword);
答案 1 :(得分:0)
您可以尝试执行mysqldump,查看转储内容以确保内容是utf-8编码的。如果没有,将其转换为utf-8并导回转储。
如果这样可以解决您的问题,那么将数据保存到数据库中的脚本会将其保存为错误的编码。