我通过StackOverFlow搜索,发现了类似的问题,但没有回答我的具体情况,所以我想这是一个新问题。如何防止钻石形状的问号出现?
当我插入条目到数据库形式的文本框,我使用mysql_real_escape_string();然后当我显示我使用htmlspecialchars()的信息;
我使用UTF-8作为字符集。我们正在使用HTML5格式。数据库的排序规则默认设置为latin1_swedish_ci,所以我使用它。对于所有表设置为latin1_swedish_ci。对于表中的所有字段,我们使用utf8_general_ci。
作为一个例子,这是它的外观时,显示出其:
�Who are you?� he asked his iPhone. �I am a humble
personal assistant,� the device replied, bringing the biggest...
如何解决这个问题?
您能够更改字符集数据库的?如果可以的话,也可以使用UTF-8 - 它可以节省一点麻烦。否则,如果要在数据库中存储可以用latin1_swedish表示的特殊字符,那么在显示之前您需要将它们转换为UTF-8。而且,在插入数据时,您需要将UTF-8转换回latin1 - 这就是为什么将所有内容都设置为相同字符集更容易的原因。 – halfer 2012-04-28 22:12:25
您将Unicode数据插入到Latin1数据库。将数据库转换为Unicode或在插入数据之前将数据转换为Latin1。 – JJJ 2012-04-28 22:12:36
确保你的文件也有UTF-8编码 – 2012-04-28 22:12:41