通过 ***.write(); 向一个Iframe中写入表单,然后提交后出现乱码。具体请看:
请认证阅读我的文章然后再回答,谢谢朋友们的合作!
请看下面的代码:
----------------------------------------------------------------------
<!-- A页面上的一个Iframe -->
<iframe id=__Post__ name=__Post__></iframe>
<!-- A页面中的JScript向__Post__中写入表单 -->
<script>
__Post__.open();
__Post__.write("<form action=post.php method='post'><input type=text name=title><input type=submit value='提 交'></form>");
__Post__.close();
</script>
----------------------------------------------------------------------
当我提交动态写入的表单后,post.php写入到数据库中的都是乱码。调试过程中我首先排除了PHP程序自身的问题,最后发现原因在于通过JScript写页面后字符编码会成为UNICODE,UNICODE直接提交给PHP当然会出错。
因为程序功能的需要,我必须要通过写Iframe的形式动态生成页面,所以在实现方式上没有什么好讨论的了。就是有什么方法避免这种问题的发生?如何让JScript写页面时直接就写成GB2312编码?