gb2312编码页面post到utf-8页面乱码解决方案
2010年08月17日 星期二 16:34
说实话,要是所有网站都采用统一编码,根本就不会出现这样或那样的编码问题,不过现在的问题是既然已经存在了n种编码了,总得想办法解决吧。由于目前国内 gb2312、utf-8的编码网站较多(big5等忽略不计),当想gb2312从页面提交表单至utf-8时,问题就来了。解决方案:
在gb2312页面的form中添加:accept-charset="utf-8" οnsubmit="document.charset='utf-8';",如:
<form method="post" action="2.php" accept-charset="utf-8" οnsubmit="document.charset='utf-8';">
这样一来,ie、ff、opera、google等主流浏览器都欣然接受了。但是当提交后直接后退这又出现新问题了,form页面变成乱码,别怕,再在gb2312页面的<head></head>之间加上如下代码:
<script>
if(document.charset!="gb2312" && navigator.userAgent.indexOf("MSIE")>0){
window.location.reload();
}
</script>
至此,问题得以完美解决。
从 UTF8 编码页面 Post 数据到 GB2312 页面乱码问题解决方法
2009年07月06日 星期一 04:41
问题描述:
从 UTF8 编码页面 Post 数据到 GB2312 页面,如包含中文则接收的数据会发生乱码。
解决方法:
IE浏览器,利用JS实现:
document.charset = "gb2312";
document.form1.submit();
FF浏览器,利用HTML实现:
<form name="form1" accept-charset="gb2312" method="post" action=””>
...
...
</form>
两种方法结合,可基本解决此问题。
很好的文章
http://www.cnblogs.com/QLeelulu/archive/2009/03/17/1414064.html
http://www.enjoyphp.com/2010/development/php/iconv_post/
http://www.imf7.com/archives/5
从 UTF8 编码页面 Post 数据到 GB2312 页面乱码问题解决方法
问题描述:
从 UTF8 编码页面 Post 数据到 GB2312 页面,如包含中文则接收的数据会发生乱码。
解决方法:
IE浏览器,利用JS实现:
document.charset = "gb2312";
document.form1.submit();
FF浏览器,利用HTML实现:
<form name="form1" accept-charset="gb2312" method="post" action=””>
...
...
</form>
两种方法结合,可基本解决此问题。