2013-03-09 87 views
1

在我的html5页面中,大约80%的字符串是unicode。完全与我的本地服务器一起工作。当上传到我的在线服务器时,页面不能正确显示unicode内容。相反,他们都是问号!Unicode在我的页面中显示不正确

我已经设置了meta标签,当我开始编码网页:

<meta charset="UTF-8"> 

在检查响应头在Chrome浏览器接收时,“UTF-8”编码不存在。所以我加入了PHP header()到发送的HTTP报头是这样的:

header('Content-type: text/html; charset=utf-8'); 

现在,响应头显示出来的UTF-8编码,但页面不使所述unicode字符串。仍然是它的问号!

我使用了我的cPanel(在线服务器)中的文件管理器,当我选择在线编辑页面时,它打开utf-8编码的页面并呈现完美。所以,这意味着文件的上传并没有搞砸。对 ?

我也试过这个元标记(替换缺一):

<meta http-equiv='Content-Type' content='text/html; charset=utf-8'> 

还是没有用! unicode内容不是来自数据库。它在页面上完全硬编码。

使用谷歌浏览器,Firefox和Internet Explorer进行测试。所有都显示相同!任何想法我应该在哪里调整?

我的服务器是由HostGator提供的VPS。

+0

可以显示这些页面的一个例子吗? – 2013-03-09 17:22:12

+0

谢谢阿卡姆。通过将编码设置为不含BOM的utf-8来找到解决方案。 :) – 2013-03-09 17:38:55

+0

@halfer:谢谢,从下次开始就会遵循这个程序。 :) – 2013-03-14 08:54:53

回答

0

不确定它是否有效,但您也可以尝试将您的文件编码转换为UTF-8(不含BOM)。

+0

ghosh!我真是个白痴! :P尝试了所有其他的可能性,并错过了这一个!谢谢 :) – 2013-03-09 17:33:03

0

该解决方案由Lisa Miskovsky提供(请查看她在本文上下的回答)。谢谢Lisa。

我做的是,通过转到Encoding菜单栏,然后​​在我的Notepad ++编辑器中选择编码UTF-8 Without BOM来更改编码。明确发送HTTP头现在也不需要(刚测试过)。我想,它会考虑字符集的元标记,因为缺少HTTP标头。

相关问题