当前位置:  开发笔记 > 前端 > 正文

Firefox和UTF-16编码

如何解决《Firefox和UTF-16编码》经验,为你挑选了1个好方法。

我正在建立一个编码为UTF-16的网站.这意味着每个文件(html,jsp)都以UTF-18编码,我设置在每个HTML页面的头部:


我的索引页面由Chrom和IE正确显示.但是,firefox不会呈现索引.它显示2个奇怪的字符和完整的索引页面代码:

??    ...

你知道原因吗?它应该是编码问题,但我不知道它位于何处......

谢谢



1> hsivonen..:

(披露:我是负责Firefox中相关代码的开发人员.)

我正在建立一个编码为UTF-16的网站.

请不要.简短的规则是:

    切勿使用UTF-16进行交换.

    始终使用UTF-8进行交换.

    如果您违反规则1和2并仍然使用UTF-16,至少使用BOM(右侧).

    但严重的是,不要违反规则1和2.

如果您在网页上包含用户提供的内容,则使用UTF-16意味着您的网站至少在旧浏览器中容易受到社交工程XSS的攻击.在旧版本的Firefox(20或更早版本)或基于Presto的Opera版本中试用此演示.

要避免此漏洞,请使用UTF-8.

这意味着每个文件(html,jsp)都以UTF-18编码

哦,哦.:-)

我在每个HTML页面的头部设置:

仅当使用的编码将元标记的字节映射到ASCII所用的相同字节时,元标记才用作内部编码声明.这不是UTF-16的情况.

你知道原因吗?

在十六进制编辑器中没有完整的响应标头和原始响应主体.如上所述,一般解决方案是始终使用UTF-8并且永远不要在HTTP上使用UTF-16.

如果您的内容使用UTF-16比UTF-8更紧凑的语言,则有两件事:

    页面上的所有HTML,JS和CSS在UTF-8中都更加紧凑.

    gzip让它与众不同.

推荐阅读
家具销售_903
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有