今天同事遇到一个诡异的问题,就是在用js的document.write将一段表单代码写到iframe中,然后通过表单进行检索。只是虽然写的代码是gb2312,但提交的表单的参数都变成了utf-8。用ff看了一下,发现所在帧的编码是utf-8.后来找到了http://topic.csdn.net/u/20070706/16/cca3dac7-1c5a-46c7-ac02-3709e35019d1.html(charset="gb2312"),以为这个是答案。后来发现这个知识解决了document.write的内容正确编码,不能保证页面本身的编码是设定的编码。
之后我试了一下发现如果首先给iframe指定一个页面,这个页面的类型就会决定所写的内容的类型。