我正在做一个测试,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。使用firefox打开html文件。img 标签会发送一个请求,“xxx”字符是 UTF8 编码的。
- (用UTF8编码HTML源文件,charset=utf8,浏览器用UTF编码URL)
我将元数据更改为
<meta http-equiv="Content-Type" content="text/html; charset=gbk">
但没有任何改变。
- (HTML 源文件用 UTF8 编码,charset=gbk,浏览器用 UTF 编码 URL)
其次,我将源文件保存在 ANSI 中,可能是 GBK 或 GB2312。
当 charset=gbk 时,仍然使用 UTF8 对字符进行编码。
- (用GBK编码HTML源文件,charset=gbk,浏览器用UTF编码URL)
但是,当 charset=utf8 时,字符由 GBK 编码。顺便说一句,其他汉字不能正确显示,例如标题中的字符串。
- (HTML源文件用GBK编码,charset=utf8,浏览器用GBK编码URL)
如何控制浏览器的编码行为?