我继承了一个mamoth php网站。这个站点在实时服务器上工作正常,但是我们有一个沙盒/ QA服务器可以在其上进行更改,并且在这个服务器上(几乎肯定有不同的PHP设置等)我看到一些奇怪的字符在我想要的内容之前输出
他们引起了很多问题,到目前为止,我已经通过在PHP脚本开头使用ob_start()
和ob_clean_end()
来“修复”它们,然后分别在我输出内容之前。
但是我现在有一次这个问题太多了,让我感觉不舒服。网站更改将于下周上线,沙盒/ QA服务器有可能成为实时服务器。如果发生这种情况,我想确保此问题不会再次随机弹出。
有没有人知道为什么带有ASCII码的字符(由ord()
报告)
239,187和191。
它们似乎是UTF-8的字节顺序标记,但我不知道为什么它们存在或如何阻止它们存在...
答案 0 :(得分:1)
UTF8字节顺序标记由UTF8编码文件中的某些编辑器放置。它们不是必需的,因此解决问题的最佳方法是从文件中删除所有BOM。
如果你有很多文件,最好使用脚本来自动化它。您可以在Google上找到此类脚本的示例,例如this one