php - UTF-8 符号显示错误

标签 php mysql codeigniter encoding utf-8

我对 UTF-8 符号有疑问,例如 ☃ - 在网站上显示为 Ƒ。

数据库、表和列的字符集是 UTF8 和 utf8_unicode_ci 排序规则。

我有一个标题

Content-Type => text/html; charset=utf-8

和元标记

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

php.ini 默认编码为 utf-8

我的 my.cnf 文件中有以下几行

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
default-character-set=utf8
default-collation=utf8_general_ci
character-set-server=utf8
collation-server=utf8_general_ci
init-connect='SET NAMES utf8'

[client]
default-character-set=utf8

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

所有文件均采用 UTF-8 编码。 当我在Mysql Cli中输出相同的数据时一切正常,但是当它显示在页面上时,符号就乱了。

我没有选择,请帮忙:(

最佳答案

在 root/index.php 上写入这一行,看看是否有效:

header('Content-Type: text/html; charset=UTF-8');

这会将 header 设置为 utf。它应该是任何空格或任何内容之前的第一行。

关于php - UTF-8 符号显示错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24607499/

相关文章:

php - 是否可以将所有类型的错误重定向到 codeigniter 中的公共(public)页面?

php - 从 .htaccess 中的密码保护中排除一个文件

mysql - 匹配用户输入的给定开始时间和结束时间是否存在

mysql - mysql查询后出了什么问题?

mysql - 计算每十分位数的元素数

php - 在 Codeigniter 中查找数据库中实际删除或未删除的数据的方法

php - 如何将 POST 数据加载到 SimpleXML 中?

java - 在现有 PHP 服务器上构建 REST Java API

php - 更新 SQL 表将 varchar 转换为 int

php - 我如何使用 php 和 codeigniter 将数据插入数据库