显示MySQL数据库中的外来字符

时间:2012-09-19 13:54:21

标签: php mysql utf-8

我有一个MySQL数据库,其中存储了某些非常规字符,例如é█▓░✌ᄼᄽᄾ等。

当我从数据库中查询它们并尝试在网页上显示它们时,它们只是显示为?,即使我有以下元标记:<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />并且设置了DB排序规则到utf8_general_ci

如何正确显示这些字符?它们是否需要以不同的方式存储在DB中?

注意:字符在数据库中是可读的,但在页面上显示时则不可读。

解决方案

将此添加到我的dbconnect文件中解决了我的问题。

/* change character set to utf8 */
if (!$mysqli->set_charset("utf8")) {
    printf("Error loading character set utf8: %s\n", $mysqli->error);
} else {
    printf("Current character set: %s\n", $mysqli->character_set_name());
}

1 个答案:

答案 0 :(得分:1)

解决此问题的最简单方法是在从DB访问utf8字符之前调用查询“SET NAMES utf8”