使用AJAX实现UTF8编码表单提交到GBK编码脚本无乱码

1、表单项目1 GBK编码格式

用户采集单是GBK编码,通过GET/POST提交上来的数据也是GBK格式,无需做任何处理

测试源码

<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="GB2312"> </head> <body> <li><a href="https://www.jb51.net/gbkForm.html" >GBK同编码表单不乱码</a> <li><a href="https://www.jb51.net/utf8Form.html" >UTF8表单修改前乱码</a> <li><a href="https://www.jb51.net/utf8FormRepair.html" >UTF8表单修改为AJAX方案后不乱码</a> <li><a href="https://www.jb51.net/otherForm.html" >其他GBK同编码表单不乱码</a> <li><a href="https://www.miaoqiyuan.cn/p/utf8-submit-gbk-ajax-autocharset" >测试程序说明</a></a> <hr /> <h2>GET:</h2> <form action="gbkSubmit.asp" method="GET" > QQ:<input value="QQ" /><br /> 姓名:<input value="姓名"/><br /> 地址:<input value="地址地址地址"/><br /> <button type="submit">GBK表单提交到GBK脚本后不会乱码</button> </form> <h2>POST:</h2> <form action="gbkSubmit.asp" method="POST" > QQ:<input value="QQ" /><br /> 姓名:<input value="姓名"/><br /> 地址:<input value="地址地址地址"/><br /> <button type="submit">GBK表单提交到GBK脚本后不会乱码</button> </form> </body> </html>

2、表单项目2 UTF8编码格式(可以在不同的域名下)

用户采集单是UTF8编码,通过GET/POST提交上来的数据也是UTF8格式,用表单项目1中的程序接收到的是乱码

测试代码(修改前,提交乱码):

<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF8"> </head> <body> <li><a href="https://www.jb51.net/gbkForm.html" >GBK同编码表单不乱码</a> <li><a href="https://www.jb51.net/utf8Form.html" >UTF8表单修改前乱码</a> <li><a href="https://www.jb51.net/utf8FormRepair.html" >UTF8表单修改为AJAX方案后不乱码</a> <li><a href="https://www.jb51.net/otherForm.html" >其他GBK同编码表单不乱码</a> <li><a href="https://www.miaoqiyuan.cn/p/utf8-submit-gbk-ajax-autocharset" >测试程序说明</a></a> <hr /> <h2>GET:</h2> <form action="gbkSubmit.asp" method="GET" > QQ:<input value="QQ" /><br /> 姓名:<input value="姓名"/><br /> 地址:<input value="地址地址地址"/><br /> <button type="submit">UTF8表单提交到GBK脚本后会乱码</button> </form> <h2>POST:</h2> <form action="gbkSubmit.asp" method="POST" > QQ:<input value="QQ" /><br /> 姓名:<input value="姓名"/><br /> 地址:<input value="地址地址地址"/><br /> <button type="submit">UTF8表单提交到GBK脚本后会乱码</button> </form> </body> </html>

不需要改变页面编码,只需要修改表单Action地址,增加name=”ConvertCallBack” value=”ProjectA/FormGBK”、name=”ConvertItems” value=”name,qq,bb” 的两个 input即可,不用对页面进行其他调整
编码设置,转换器自动操作。

<form action="convert/utf8.asp"... <input value="ProjectA/FormGBK"> <input value="name,qq,address"/> <!-- 根据表单实际情况,修改表单项目 -->

测试代码(修改后)

<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF8"> </head> <body> <li><a href="https://www.jb51.net/gbkForm.html" >GBK同编码表单不乱码</a> <li><a href="https://www.jb51.net/utf8Form.html" >UTF8表单修改前乱码</a> <li><a href="https://www.jb51.net/utf8FormRepair.html" >UTF8表单修改为AJAX方案后不乱码</a> <li><a href="https://www.jb51.net/otherForm.html" >其他GBK同编码表单不乱码</a> <li><a href="https://www.miaoqiyuan.cn/p/utf8-submit-gbk-ajax-autocharset" >测试程序说明</a></a> <hr /> <h2>GET:</h2> <form action="convert/utf8.asp" method="GET" > QQ:<input value="QQ" /><br /> 姓名:<input value="姓名"/><br /> 地址:<input value="地址地址地址"/><br /> <input value="../gbkSubmit.asp" /> <input value="name,qq,address" /> <button type="submit">AJAX转码方案</button> </form> <h2>POST:</h2> <form action="convert/utf8.asp" method="POST" > QQ:<input value="QQ" /><br /> 姓名:<input value="姓名"/><br /> 地址:<input value="地址地址地址"/><br /> <input value="../gbkSubmit.asp" /> <input value="name,qq,address" /> <button type="submit">AJAX转码方案</button> </form> </body> </html>

3、表单项目3 GBK编码格式(可以在不同的域名下)

没有任何影响,只要按照表单1的标准编写 参数即可
测试代码:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/798949997346f5130914061a9e46d1bf.html