我正在做一个测试,Firefox编码字符如何 .
但事实让我很困惑 .
HTML代码:
<html lang="zh_CN">
<head>
<title>some Chinese character</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<img src="http://localhost/xxx" />
</body>
xxx是一些汉字 . 这些字符必须编码为%xx格式才能通过HTTP传输 .
首先,我用UTF-8编码 source file . 使用firefox打开html文件 . img标签将发送请求,"xxx"字符由UTF8编码 .
- (通过UTF8编码HTML源文件,charset = utf8,浏览器通过UTF编码URL)
我把meta改成 <meta http-equiv="Content-Type" content="text/html; charset=gbk">
但没有改变 .
- (通过UTF8编码HTML源文件,charset = gbk,浏览器通过UTF编码URL)
其次,我保存 source file in ANSI ,可能是GBK或GB2312 .
当charset = gbk时,仍然按UTF8编码字符 .
- (由GBK编码HTML源文件,charset = gbk,浏览器通过UTF编码URL)
但是,当charset = utf8时,字符由GBK编码 . 顺便说一下,其他汉字不能以正确的方式显示,例如 Headers 中的字符串 .
- (由GBK编码HTML源文件,charset = utf8,GBK浏览器编码URL)
如何控制浏览器的编码行为?
1 回答
对于URL编码,UTF-8是the standard . 如果您使用GBK对源文件进行物理编码,但在内容类型中使用
utf-8
,那么您只是对浏览器撒谎并且会得到不一致或不起作用的结果 .