目前我正在用波斯语(波斯语)开发一个网站。问题是当我在firefox中提交表单时,所有字体都被销毁了。如下图:
我已经检查了代码(包括元标记和其他数千次),这使得更加奇怪的是,这只发生在firefox上,并且在提交后没有其他浏览器。是否有任何与firefox相关的错误或我应该更改形式的任何属性。 我很安静绝望。如果有人有线索,请帮助我。
答案 0 :(得分:2)
截图的一个细节引起了我的注意:
这看起来有点像UTF-8 BOM的LTR变体。
将文本解释为ISO-8859-1或CP1252的文本编辑器或Web浏览器将为此显示字符“

”。
因此,我假设您注入了无效的文本片段,其中包含内的和现有的HTML文档(AJAX?),您的Firefox浏览器会检测到该文档不再是有效的Unicode,并且因此,它回退到ISO-8859-1,它曾经是互联网上所有文本文档的默认字符编码。
由于CSS规则仍然适用,因此保留了LTR显示,只更改了文本编码元信息。
请注意:拥有正确的标题是发出正确编码信号的一件事,但它并不会让您免于实际提供正确编码的文本数据。
我必须承认,这些BOM可能非常棘手,因此容易被忽视。
解决方案:请勿在此处注入任何BOM。如果您从PHP文件提供回HTML,请检查它不使用任何BOM的PHP文件。
答案 1 :(得分:1)
我想出了这个问题。
我用了<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
。
我用PHP中的UTF8标头替换它:
标题(&#39; Content-Type:text / html; charset = utf-8&#39;);
问题解决了。
我有另一个问题通过这个改变解决了。我的网站页面在firefox中加载了两次并且现在已经解决了。它的接缝让火狐根本不喜欢那个元标记;)