黑马程序员技术交流社区
标题:
【上海校区】Javaee开发中的字符编码问题
[打印本页]
作者:
不二晨
时间:
2018-12-31 09:58
标题:
【上海校区】Javaee开发中的字符编码问题
数据库乱码
数据库乱码有两种
程序dao层和数据库交互时中文传不进去
解决办法:将数据库的配置文件里的编码改成utf-8,并以utf-8格式重新创建数据库(具体的操作网上到处都是,百度一下即可)
向数据库插入数据时数据库显示就是乱码
解决办法:我遇到这个问题时因为批量插入数据,将insert语句分开,一条一条插入即可
html文件在浏览器显示乱码
解决办法:
这个问题基本上都是在html文件里加上属性
我做的比较彻底,
1.右击文件->properities将text file encoding设置为utf-8
2.右击工程->properities将text file encoding设置为utf-8
3.servlet里的service()方法里,做的第一件事就是把请求和响应的字符编码设置为utf-8,添加代码:request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
表单里中文提交到servlet里的数据,用request.getparament()取出时乱码
解决办法:这个是因为tomcat转发请求默认的是使用iso-8859-1格式
1.修改tomcat的配置文件,将转发请求格式改成utf-8(我用的第二种方法,这个方案自行百度)
request.getparament()取出参数后,进行转码
代码:String name = request.getParameter("name");
name = new String(name.getBytes("ISO-8859-1"), "UTF-8");
4.cookie数据使用时乱码,乱码带有%
解决办法:Cookie数据一般添加时都会进行加密操作,解密一下就好
加密代码:name = URLEncoder.encode(name, "utf-8");
解密代码:name = URLDecoder.decode(name, "utf-8");
总结:这个项目算是javaee的入门项目,还停留在jsp+servlet阶段,前后端还没有完全分离,但是对于理解servlet原理非常有帮助,这个项目完全搞懂了,学习框架的时候会轻松很多。做项目的时候遇到很多坑,对于这种mcv的项目,代码遇到问题时从界面一点一点往后台去查找,只要不是遇到那种玄学的问题,还是很容易找到根源的。
---------------------
转载,仅作分享,侵删
作者:RobotBing
原文:
https://blog.csdn.net/RobotBing/article/details/85051960
作者:
不二晨
时间:
2019-1-3 10:08
奈斯
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2