显示某种撇号(目前显示为钻石)

时间:2012-07-24 16:05:45

标签: php html character-encoding

我的数据库中的某些行包含各种撇号,当使用PHP显示时,会转换为带有问号的菱形。例如,如果它正确复制:Captain Jim O’Brien

这些“撇号”最有可能通过TinyMCE插入,用户可能正在从Word复制和粘贴,或者可能是Mac计算机中的某些内容。

如何显示这些“撇号”?当我在PHPMyAdmin中查看行时,会显示撇号(没有菱形),因此显然有一种方法。

我的字符编码设置为UTF-8,我尝试了htmlspecialchars($string)htmlentities($string),但没有运气。

1 个答案:

答案 0 :(得分:2)

字符在不同的地方编码。

MySQL具有特定的字符编码。默认情况下,不是 UTF-8,而是latin1。

使用PHP生成的HTML文档也具有指定的特定字符编码。最后,HTML文档中的实际字节实际上假定了特定的字符编码,如果您不小心,则可能与您为文档指定的字符编码不同。

确认您的MySQL编码设置为UTF-8作为第一步。请注意,MySQL可以在每个表甚至每个列的基础上覆盖数据库的默认字符编码。

您可能对此相关帖子感兴趣,以便更深入地了解字符编码

Character Encoding and the ’ Issue

<强>更新

首先将数据放入MySQL数据库。也许那是&#34;某事&#34;没有使用UTF-8编码。