1

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

当我开始对页面进行编码时,我已经设置了元标记:

<meta charset="UTF-8">

在检查 Chrome 浏览器上收到的响应标头时,“utf-8”编码不存在。所以我添加了 phpheader()来发送 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。

4

2 回答 2

0

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

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

于 2013-03-14T11:01:42.597 回答
0

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

于 2013-03-09T17:21:24.450 回答