仅限生产的bug: em破折号没有正确显示


Production-only bug: em dashes not appearing correctly

我遇到了一个我无法解决的em破折号问题。对于我们的网站,我们将文本内容存储在MySQL数据库的"content"列中,该列偶尔会包含特殊字符,除了em破折号外,所有这些字符都正确显示。在网站上打印出来时,输入文本中的任何em破折号都会变成问号菱形替换字符。

这个bug只出现在我们的生产站点上(在我们的开发站点和登台站点上,emdashes正确呈现),这让我相信这可能是他们各自数据库上的字符集问题(我们的开发/登台数据库托管在一台服务器上,而生产在不同的服务器上)。但是,包含有问题的文本内容的列在所有数据库上都设置为utf-8。在htmlspecialchars()中包装输出无法工作。

值得注意的是,当我使用print_r()来打印变量时,我将保存获取的DB结果(用于调试),em破折号将在下面打印出来时正确呈现。

感谢所有响应的人,它被SET NAMES 'utf8'解决方案在UTF-8中一直修复了