前几天在关于java web 开发中遇到的表单提交、ajax提交的乱码问题,纠结死了,找了下资料,终于发现解决方法,总结了一下,方便日后查找。

1、html表单提交,在<input id="username" type="text" name="username" />文本框中输入中文提交到Servlet或JSP处理,即使对HttpServletRequest中的方法进行了设置req.setCharacterEncoding("gb2312");也不能解决中文乱码问题,但是英文则不会出现乱码,解决方法是用String的构造方法public String(byte bytes[], Charset charset),如:
1)表单提交:
<input class="zctext" id="username" type="text" name="username" /> 
2)Servlet处理:
String username = request.getParameter("username");  //得到参数
username = new String(username.getBytes("UTF-8"),"GB2312");//转换中文字符,gb2312编码!!
这样就能显示中文,就可以对数据库进行进一步连接,否在乱码是不可能在数据库中有查询结果的。
2、ajax提交Servlet处理。用jquery与用原生的javascript进行提交方式都差不多,对于提交中文则要进行编码解码,英文则木有问题。同上,即便用了HttpServletRequest中的方法进行了设置req.setCharacterEncoding("gb2312");也不能解决中文乱码,要进行编码 与解码,分别是javascript中的encodeURI($("#username").attr("value"))编码,和java中的public static String decode(String s, String enc)解码。
1)ajax提交代码:$.ajax({
type:"POST",
url:"jqcheck?do=login",//提交到URL映射为jqcheck的servlet处理
data:{username:encodeURI($("#username").attr("value")),password:$("#password").attr("value")},
success:function(data){
if(data==2){
alert("密码错误");
}else if(data==3){
alert("用户名不存在");
}else {
alert("登录成功哦!!");
}
}
})
主要是要对文本框的数据进行编码,对于<input class="zctext" id="username" type="text" name="username" /> 中的数据进行编码,先取得id为username的文本框的值,在进行编码encodeURI($("#username").attr("value"))。
2)jqcheck的servlet处理代码:
String username = req.getParameter("username");//得到参数
username = java.net.URLDecoder.decode(username, "UTF-8");///对ajax进行URLdecode解码
这样就可以了。。

转载于:https://www.cnblogs.com/lufeng/archive/2011/12/15/2288517.html

j2ee,ajax中文乱码解决方法。。相关推荐

  1. jquery的ajax()函数传值中文乱码解决方法介绍

    jquery的ajax()函数传值中文乱码解决方法介绍 参考文章: (1)jquery的ajax()函数传值中文乱码解决方法介绍 (2)https://www.cnblogs.com/xuxiaosh ...

  2. vs code中文乱码解决方法

    修改 1.(安装方法) 2.显示终端输入数据输出结果(完美解决) 3.修改部分:中文乱码解决方法 第一步: 第二步: 1.(安装方法) 转载于: https:blog.csdn.net/qq_4304 ...

  3. Ubuntu10.04下gFtp2.0.19 远程客户端中文乱码解决方法

    Ubuntu10.04下gFtp2.0.19 远程客户端中文乱码解决方法如下: 1.打开"gFTP-FTP-属性-常规-远程字符集": 2.将远程字符集设置为:gb2312,gbk ...

  4. python cmd 窗口 中文乱码 解决方法 (附:打印不同颜色)

    python cmd 窗口 中文乱码 解决方法 (附:打印不同颜色) 参考文章: (1)python cmd 窗口 中文乱码 解决方法 (附:打印不同颜色) (2)https://www.cnblog ...

  5. Sublime Text 3中文乱码解决方法以及安装包管理器方法

    Sublime Text 3中文乱码解决方法以及安装包管理器方法 参考文章: (1)Sublime Text 3中文乱码解决方法以及安装包管理器方法 (2)https://www.cnblogs.co ...

  6. axios请求GBK页面中文乱码解决方法

    axios请求GBK页面中文乱码解决方法 参考文章: (1)axios请求GBK页面中文乱码解决方法 (2)https://www.cnblogs.com/bjhl/articles/10514038 ...

  7. charles抓包工具的中文乱码解决方法

    charles抓包工具的中文乱码解决方法 参考文章: (1)charles抓包工具的中文乱码解决方法 (2)https://www.cnblogs.com/grimm/p/7494688.html 备 ...

  8. python打包出现乱码_python解压zip包中文乱码解决方法

    乱码得原因: 由于ZipFile模块导出遇到中文解码不对,windows上会出现,linux是否会出现不知道没测试过. 解决方式: 1. 搞个文件名引射表(不太方便,少量文件夹套用时候还可以) 2. ...

  9. 火狐浏览器中文乱码怎么办 Firefox中文乱码解决方法

    核心提示:最近好多网友反映在使用火狐浏览器的时候,网页显示乱码的情况,这种问题通常是由于我们浏览器语言的设置有关系,下面小编就为大家分析下具体的解决办法,希望对大家有所帮助. 火狐浏览器中文乱码怎么办 ...

  10. python cmd窗口名字_python cmd 窗口 中文乱码 解决方法 (附:打印不同颜色)

    python cmd 窗口 中文乱码 解决方法 (附:打印不同颜色) 前言 在 python 开发中,有时候想通过cmd窗口来和用户交互,比如显示信息之类的,会比自己创建 GUI 来的方便,但是随之而 ...

最新文章

  1. liunx防火墙常用命令
  2. tf.keras.losses.KLDivergence KL散度 损失函数 示例
  3. html 滚动条_数十种自定义多彩多样滚动条样式
  4. 2017年热度最高的十大技术类技能
  5. 头部电商平台如何在大促时,优雅的赚钱?
  6. 系统学习深度学习(十九)--GoogLeNetV1,V2,V3
  7. JS获取页面 GET 方式请求的参数
  8. SSM(SpringBoot+SpringMVC+Mybatis):班委信息管理附有GIF动图,博主可免费答疑
  9. SSH使用教程( Bitvise Tunnelier+Chrome+Proxy Switchy)
  10. 新手自己搭建服务器步骤
  11. 锐度、对比度、和清晰度的区别
  12. 两台路由器直连服务器需要怎么配置,设置串联两台无线路由器的方法步骤
  13. php 正则 零宽断言,正则表达式之零宽断言实例详解_正则表达式
  14. 中科大843信号与系统中国科学技术大学843信号与系统138,总分420+上岸经验帖
  15. Renderbus瑞云渲染正式支持UE云渲染!离线渲染+实时渲染=渲染起飞!
  16. 蓝绿部署、金丝雀发布(灰度发布)、A/B测试的准确定义
  17. 数据库面试题(开发者必看)
  18. 叶飘落,诉说着冷寂与孤独
  19. idea的pom.xml文件图标是黄色而不是蓝色
  20. 【React-Native】集成微信官方安卓端SDK,实现微信登录、发送/分享小程序消息等功能

热门文章

  1. 生成springboot banner网站
  2. 软件开发有哪些规范和标准_车辆,机械专业如何从事汽车电子软件开发
  3. 苹果cms模板_我的主题网【第二十五套】精简宽屏大气苹果CMSv10模板DIY系列拆分版...
  4. jQuery操作动画队列
  5. 【渝粤教育】国家开放大学2018年秋季 0077-22T古代汉语专题 参考试题
  6. 银行客户交易行为预测:LightGBM模型
  7. Matlab中的逻辑运算与,||与|的区别
  8. 深入浅出梯度下降法1
  9. Free Ebook #1
  10. Java多线程系列---“基础篇”08之 join()