我的页面上没有正确显示Unicode


Unicode not displaying correctly in my page

在我的html5页面中,大约80%的字符串是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标签(替换短的):

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

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

测试与谷歌Chrome, Firefox和Internet Explorer。所有人的表现都一样!关于我应该在哪里调整的想法吗?

我的服务器是HostGator提供的VPS .

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

解决方案是由Lisa Miskovsky提供的(查看她在这篇文章上面/下面的回答)。谢谢丽莎。

我所做的是,改变编码通过转到Encoding菜单栏,然后选择编码在UTF-8 Without BOM,在我的notepad++编辑器。现在也不需要显式地发送HTTP头(刚刚测试过)。我认为,它会考虑元标签的字符集,因为没有HTTP头。