Unicode在我的页面中无法正确显示

时间:2013-03-09 17:17:51

标签: php html5 unicode character-encoding

在我的html5页面中,大约80%的字符串是unicode。与我的本地服务器完美配合。上传到我的在线服务器时,页面没有正确显示unicode内容。相反,它们都是问号!

我开始编写页面时已经设置了元标记:

<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内容不是来自数据库。它在页面上完全硬编码。

使用Google Chrome,Firefox和Internet Explorer进行测试。一切都显示出来!我应该调整哪些想法?

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

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