前段时间,我建立了一个网站,使用mysqli访问数据库与用户信息。这个数据库包含一些西里尔语文本。PDO,获取编码错误
Yesteday我用PDO替换了mysqli。现在所有的西里尔看起来像这样:
Ð'икÑ,орDNÐ'Ðμлочкина
我有UTF8编码无处不在。这里是我的代码:
$pdo = new PDO('mysql:host=mysql.host.com;dbname=db;charset=utf8',
'database', 'password');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->exec("set names utf8");
return $pdo;
和页面
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
可能是什么原因呢?
我GOOGLE了很多,但找不到解决方案。
确保数据库是UTF -8以及,这可以帮助:https://stackoverflow.com/questions/1049728/how-do-i-see-what-character-set-a-mysql-database-table-column-is – Keloo
你也可以能够[尝试此]与PDO(https://stackoverflow.com/a/45265242/7644018)。 –
[在Web应用程序中处理Unicode前后](http://kunststube.net/frontback/) – deceze