2009-11-13 45 views
1

我有一个混合拉丁和阿拉伯字符的PHP页面。字符集声明标记位于html代码 阿拉伯字符在着陆时损坏,罚款后更新 - UTF8

并且该文件被保存为UTF-8。所有的文本是静态的,并在PHP文件(不是来自数据库或外部来源)

当我浏览到该网站时,一些页面随机在IE和FF中损坏并显示所有问号。刷新页面后,文本显示正常,虽然...我一直在用阿拉伯语和希伯来语很长一段时间,这是我第一次遇到这个问题。任何人都可以想到一个原因吗?

Chrome是永嘉...

+0

手动更改编码时会发生什么 - 使用视图 - >字符编码? – Matijs 2009-11-13 22:03:23

+0

另外,你确定你的浏览器正在缓存页面吗? – Shreef 2009-11-13 22:18:53

+0

@ Matjis视图 - >字符编码已经显示正确的编码 - utf-8。这就是困扰我的问题,因为通常这个问题是由于丢失了字符集声明而造成的,并且浏览器猜测出了一个缺口。在我的情况下,浏览器设置为正确的编码,但页面显示全部????????。 @Shreef - 是的,我确信它不是由于缓存。如果我不断刷新页面,它每隔一段时间就会回到问号... – eakkas 2009-11-13 22:25:54

回答

2

原来在元描述之前的脚本引用导致了问题。我将 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 作为开头标签之后的第一个项目,这不再是问题。感谢所有的评论..

PS我不是那个谁编码这个网页,并只在本地化它,这就是为什么我甚至没有想到后脚本的元标记甚至会有所作为。 ..

0

尝试发送适当的头,像这样:

header("Content-Type: text/xml; charset=utf-8");