我有一个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());
}
答案 0 :(得分:1)
解决此问题的最简单方法是在从DB访问utf8字符之前调用查询“SET NAMES utf8”