编码问题

时间:2017-06-09 03:27:30

标签: php mysql mysqli utf-8

从上面得到符号,我不知道我错过了什么。 到目前为止我做了什么。

设置标题

<meta charset="UTF-8" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

数据库输出字符集:UTF8

$char = mysqli_character_set_name($conn);
echo "The current character set is: $char\n"; 

设置档案。

mysqli_set_charset($conn, "utf8");

文件是:UTF 8 数据库表是:utf8_general_ci

编辑:显示表

CREATE TABLE `testimonials` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`showflag` varchar(10) NOT NULL DEFAULT '10',
`heading` varchar(155) DEFAULT NULL,
`testimonial` longtext NOT NULL,
`name` varchar(50) NOT NULL,
`domain` varchar(50) DEFAULT NULL,
`date` date NOT NULL,
`image` varchar(255) DEFAULT NULL,
`rating` int(1) DEFAULT '5',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=47 DEFAULT CHARSET=utf8

编辑:数据库存储很好,问题只出现在输出上。

2 个答案:

答案 0 :(得分:3)

你似乎与两个元句有矛盾 - 使用相同的字符集。

寻找&#34;黑钻&#34;在http://stackoverflow.com/questions/38363566/trouble-with-utf8-characters-what-i-see-is-not-what-i-stored

让我们看SHOW CREATE TABLE; 是重要的部分。

答案 1 :(得分:2)

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

您要将字符集设置为iso-8859-1。请尝试将其更改为utf-8

您的第二个元标记仅适用于HTML4。对于与HTML5兼容的现代浏览器,只有<meta charset="UTF-8" />就足够了。