题记:第一篇博客,编辑器的很多功能还不熟悉,粗略写写,可能的看官们请见谅。

背景:用Struts、Spring、Hibernate整合一个小项目,有关编码的设置如下:

1、JSP页面的pageEncoding设置没问题,charset设置成UTF-8,form表单为get方式

2、Struts配置时没有显性设置常量struts.i18n.encoding,不设置则默认为UTF-8

3、MySQL数据库建库时设置了UTF-8编码方式

4、ApplicationContext.xml中jdbcUrl设置时在数据库名后加了"?useUnicode=true&characterEncoding=utf8"

其他关于编码的设置应该是没有了。

问题:表单提交中文数据并保存到数据库后显示乱码。

分析:自从Tomcat5.x开始,GET和POST方法提交的信息,tomcat采用了不同的方式来处理编码,对于POST请求,Tomcat会仍然使用request.setCharacterEncoding方法所设置的编码(也即Struts的struts.i18n.encoding的值)来处理,如果未设置,则使用iso-8859-1编码。而GET请求则不同,Tomcat对于GET请求并不会考虑使用request.setCharacterEncoding方法设置的编码,而会永远使用iso-8859-1编码。

解决:

第一种方式:把表单由get方式改为post方式。

第二种方式:在servlet中获取请求数据时用类似String s = new String(request.getParameter("s").getBytes("ISO-8859-1"), "UTF-8") 的方式,如果是SSH项目,可写一个拦截器进行类似处理。

第三种方式:(试了似乎不行,也可能是我赶时间没弄仔细)在tomacat的server.xml文件中对URIEncoding进行设置。

End

Java Web项目表单数据存入数据库中文乱码解决相关推荐

  1. 解决java web中safari浏览器下载后文件中文乱码问题

    解决java web中safari浏览器下载后文件中文乱码问题 参考文章: (1)解决java web中safari浏览器下载后文件中文乱码问题 (2)https://www.cnblogs.com/ ...

  2. java web 项目在tomcat上显示空白页的解决

    今天调试一java web项目,所有页面都显示空白,有如下的解决过程: 一 切换浏览器模式 tomcat打开页面是空白 用localhost:8080打开页面显示空白,以前用着没问题. 浏览器兼容性问 ...

  3. maven的java web项目启动找不到Spring ContextLoaderListener的解决办法

    用maven搭建的java web项目,上传到git仓库后,当同事clone下来项目,部署到tomcat运行时,就报了如下错误,即启动web项目时,加载web.xml文件,找不到spring的监听器, ...

  4. php将表单数据存入数据库,php将表单中数据传入到数据库

    无标题文档//创建表单 姓名 header("Content-type:text/html;charset=utf-8"); if(isset($_POST['submit'])) ...

  5. matlab-JDBC操作MYSQL数据库中文乱码解决

    JDBC连接MYSQL数据库,使用MATLAB读写中文数据出现乱码,是由于MYSQL本身的配置问题 试验数据库的编码为UTF8,操作系统为中文WINDOWS,即操作系统的编码是GBK,如果不对MYSQ ...

  6. Android存入mysql数据库中文乱码解决方法的超级坑

    csdn已经有很多解决方法了,其中一个步骤有点问题 在连接数据库是加上?useUnicode=true&characterEncoding=utf-8 不是utf8!!!不能丢掉减号!!!

  7. mysql数据库中文乱码解决

    查询结果乱码 字符集编码 MySQL客户端工具中 查询 SHOW VARIABLES LIKE 'character%'; 修改 SET NAMES 'utf8'; 相当于下面的三句指令 SET ch ...

  8. 解决ssm项目表单数据提交到数据库乱码问题

    解决ssm项目表单数据提交到数据库乱码问题 参考文章: (1)解决ssm项目表单数据提交到数据库乱码问题 (2)https://www.cnblogs.com/duzhentong/p/8576512 ...

  9. Java Web 项目入门指南(http、Servlet、Request、Response、ServletContext、会话技术[cookie、session]、Filter、Listener)

    概述 web 服务器.项目.资源概述 web 服务器:可以被浏览器访问到的服务器 常见的 web 服务器: tomcat:中小型的服务器软件,免费开源,支持 JSP 和 Servlet apache ...

最新文章

  1. Aspose.Cells设置单元格格式
  2. eclipse里面M2_REPO引用(Maven2安装总结)
  3. python语言怎么输入-Python input()函数:获取用户输入的字符串
  4. 漫谈IDS的虚拟化发展
  5. Java 泛型背后的原理是什么?
  6. DDD理论学习系列(1)-- 通用语言
  7. js数组查找最接近_在JavaScript数组中找到最小元素的位置
  8. openwrt顶层Makefile分析-转
  9. 冒泡排序代码_凡人能看懂的冒泡排序和快速排序(附动态图和代码详解))
  10. 将MinimalLinux安装在U盘中
  11. 泰凌微ble mesh蓝牙模组天猫精灵学习之旅 ④ 初认识阿里天猫精灵官方Genie BT mesh Stack框架, windows平台搭建打印Hello World !
  12. 门诊电子处方软件免费版本2.3
  13. php screw.so,php_screw
  14. 恒指赵鑫:8.7恒指德指喊单记录与晚盘前瞻
  15. Java:计算圆的面积和周长
  16. 广义表((a,b),c,d)表头和表尾分别是什么?
  17. 机器学习中误差的定义,以及过拟合现象的介绍
  18. 《Hive编程指南》阅读笔记
  19. 30岁之前一定要知道的7个金融概念-千氪
  20. MOT入门笔记(二)

热门文章

  1. VS恢复默认设置方法
  2. 【博学谷学习记录】超强总结,用心分享 |产品经理-关于竞品分析(二)
  3. 智慧城市系列课程5-智慧城市-智慧政务-政务治理
  4. 计算机应用专业可以考教师资格证不,教育部规定,这三类人不能当老师,拿到教师资格证也是白考...
  5. 以前玩游戏时候的图片
  6. c语言优先队列对数组的排序,优先队列+sort+栈+队列讲解
  7. 洛谷P1902 刺杀大使
  8. 学java还是python哪个就业好_JAVA和Python哪个好就业?
  9. 超经典!国际著名计算机教育推动者发表计算机原理文档,面面俱到
  10. SQL2012无法附加数据库