使用php

时间:2015-07-02 08:29:41

标签: mysqli utf-8

我面临的关于utf8角色的问题很少。我知道很多答案存在,但我的问题没有解决。 我有一个字符串当我回显然后在浏览器它工作正常,但当我存储到数据库,然后它显示像

Pø¦.OÝ.Xر1⸮24ø¿ø… (browser) > Pø¦.OÃ.Xر1⸮24ø¿ø… (Database)

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$db = new mysqli('localhost', 'xxxx', 'xxxx', 'xxxx');
if ($db->connect_errno > 0) {
   die('Unable to connect to database [' . $db->connect_error . ']');
}
$db->set_charset("utf8");

如何将utf8字符保存到数据库。我已经尝试过了

<meta charset="utf-8">
CHARACTER SET utf8 COLLATE utf8_general_ci
header('Content-Type: text/html; charset=utf-8' );

我不明白问题是什么。有没有字体问题?

1 个答案:

答案 0 :(得分:-1)

您的问题是您的数据库,将您的数据库排序规则更改为general_ci,如此

ALTER DATABASE <database_name> CHARACTER SET utf8 COLLATE utf8_general_ci;

也许值得阅读这个PHP, MySQL, characters not being displayed correctly.