【发布时间】:2013-03-31 07:58:39
【问题描述】:
我有一个包含特殊字符(例如 ™)的表格。
这个字符可以使用phpMyAdmin等软件输入查看,但是当我在PHP中使用SELECT语句输出到浏览器时,我得到了一个带问号的菱形。
表类型是 MyISAM。编码是 UTF-8 Unicode。排序规则是 utf8_unicode_ci。
html头的第一行是
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
我尝试在输出字符串之前对字符串使用 htmlentities() 函数。没有运气。
我也尝试在任何输出之前将其添加到 php(没有区别):
header('Content-type: text/html; charset=utf-8');
最后我尝试在初始 mysql 连接下方添加这个(这导致显示额外的奇数字符):
$db_charset = mysql_set_charset('utf8',$db);
我错过了什么?
【问题讨论】:
-
与问题本身无关,但请使用
mysqli或 PDO 而不是mysql扩展名,已弃用。 -
您确定数据库中的内容实际上是 utf8 吗?
-
我如何确定“数据库中的内容实际上是 utf8”?我将 ™ 字符直接输入到 phpMyAdmin 中,并且在 phpMyAdmin 中的任何地方我都看到字段和表格的 utf8...
标签: php mysql utf-8 character-encoding