UTF8编码页面提交参数登录到GB2312编码处理
来源:互联网 发布:eclipse优化运行速度 编辑:程序博客网 时间:2024/05/23 15:06
一个UTF8页面需要POST数据到GB2312页面,这时中文的编码是按照UTF8提交过去的,GB2312页面无法接收。如何实现,网络搜索了一种很不错的方法,但有缺陷,这里一一说起。
1、FORM标签里加上accept-charset代码,这个能把FORM里的数据自动编码成指定的字符集提交,比如在UTF8页面提交数据到GB2312,代码就是accept-charset=”GB2312″,但accept-charset除了IE其他浏览器都支持。。。
2、这时可以在提交时触发JS,document.charset=’GB2312′;,用这段代码设置当前页面编码为GB2312。到这里看似很完美了,但还一个问题,就是触发这个代码后,当前页面刷新之后会乱码,这是因为你刚才改变了当前页面的编码。
3、怎么处理刷新后乱码呢,就是要加以判断,判断当前页面编码和默认的编码是否一致,如果不一致则刷新,if(isIE && document.charset!=”utf-8″)location.reload(false)
4、网上的介绍最多到这步,但是我却发现,这样就步入了一个死循环,因为第2步已经改变了编码,您在当前页面不管怎样刷新,还是改变后的编码,所以一定要重设这个编码才行,代码就是这样的。
if(isIE && document.charset!=”utf-8″){
document.charset=’utf-8′;
location.reload(false);}
代码综合起来如下:
判断当前页码是否为UTF8,如果不是,则设定编码为UTF8并刷新,避免乱码。
var isIE=!!window.ActiveXObject;
if(isIE && document.charset!=”utf-8″){
document.charset=’utf-8′;
location.reload(false);}
设定FORM的accept-charset,让非IE浏览器直接提交编码后的数据到其他页面
提交数据时触发修改当前页面编码的JS
onsubmit=”if(isIE)document.charset=’GB2312′”
- UTF8编码页面提交参数登录到GB2312编码处理
- utf8/gb2312编码
- 如何处理提交页面是GB2312编码格式,接收页面是UTF-8格式?
- url 编码转换(utf8 - gb2312)
- url 编码转换(utf8 - gb2312)
- GB2312及UTF8编码【转】
- GB2312和utf8编码转换
- mysql编码gb2312转utf8
- js 编码转换 gb2312 & utf8
- C++ UTF8 编码转换 GB2312
- UTF8和GB2312编码转换
- GB2312编码转换为UTF8编码
- AFNetworking2.0参数默认编码格式是UTF8,如何指定参数编码格式为gb2312
- C# 编码转换 UTF8转GB2312 GB2312转UTF8
- C# 编码转换 UTF8转GB2312 GB2312转UTF8
- C# 编码转换 UTF8转GB2312 GB2312转UTF8
- C# 编码转换 UTF8转GB2312 GB2312转UTF8
- javascript 实现utf8到gb2312的编码 以及字符的utf-8编码
- 程序员的职业发展
- 【转】对新手程序员的一些唠叨
- 最长公共子序列
- SQL Server 如何在运行时重编译存储过程
- opengl es 学习笔记(一):流水线
- UTF8编码页面提交参数登录到GB2312编码处理
- vim 括号匹配 以及各种跳转技巧.
- chrome开发者工具使用文章一两篇
- opengl入门系列5-视景体定义
- windows系统下用命令重启Apache
- 文档和元素的几何图形
- MTK Android 菜鸟上手之旅
- redhat忘记root密码的解决方法
- 列举出给定目录中各种文件的个数算法实现