web开发中文数据写入到数据库乱码问题
来源:互联网 发布:mac打底唇膏 编辑:程序博客网 时间:2024/05/16 03:27
第一次开发一个小的项目,经验尚浅,每次测试数据库时,都是随便的输入几个英文字符就行了的,看看数据库中是否显示了,便当做完成任务了。可是由于项目的要求,注册时可以使用中文,当测试时,到数据库中查看居然乱码。曾经看传智的老贺讲web时,项目的结尾就是来探讨和学习这个乱码的问题。他提到过滤器的处理方法,可是自己学的不多,只会在在页面中加入字符编码的控制。现在谈谈我的这种麻烦的解决办法,希望对那些和我一样刚入门的菜鸟有些帮助!
1.在你的jsp页面,也就是你打算提交啊数据到servlet的页面头部添加代码<% request.setCharacterEncoding("ISO8859_1");%>,并且将原来的jsp的页面的编码修改gb2123
2.在你所提交的servlet页面设置编码 request.setCharacterEncoding("ISO8859_1");
3.在servlet里面,对需要写入中文到数据库的的代码段下面都加上一行,例如
String xxx= request.getParameter("xxx");
xxx=new String(xxx.getBytes("ISO8859_1"),"gb2312");
4.这样就可以了
附一个servlet代码》》》》》》》
package com.action.student;import java.io.IOException;import java.io.PrintWriter;import java.sql.Date;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.dao.StuDao;import com.dao.UserDao;import com.test.md5;public class addStu extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {request.setCharacterEncoding("ISO8859_1");//测试: response.sendRedirect("index.jsp");/*解决中文插入数据库乱码问题 * 将提交的jsp(register.jsp)的<% request.setCharacterEncoding("ISO8859_1");%> * 在servlet中同添加request.setCharacterEncoding("ISO8859_1"); * 在得到的中文String后,进行xxx=new String(xxx.getBytes("ISO8859_1"),"gb2312");处理 */String name = request.getParameter("name");name=new String(name.getBytes("ISO8859_1"),"gb2312");String num1 = request.getParameter("num1");String num2 = request.getParameter("num2");//为了区别关键字class-->klassString klass = request.getParameter("class");String post = request.getParameter("post");post=new String(post.getBytes("ISO8859_1"),"gb2312");String partynum = request.getParameter("partynum");partynum=new String(partynum.getBytes("ISO8859_1"),"gb2312"); //测试:System.out.println(partynum);String both = request.getParameter("both");String school = request.getParameter("school");String graduate = request.getParameter("graduate");String dorm = request.getParameter("dorm");if (num1.equals(num2)) {StuDao stu = new StuDao();if (stu.findStu(name, num1) != null) {// response.sendRedirect("index.jsp");System.err.println("用户已存在!");request.getRequestDispatcher("adderror.jsp").forward(request,response);} else {md5 md =new md5();num1 = md5.string2MD5(num1);//測試是否加密成功System.out.println(num1);int i = stu.addStu(name, num1,klass,post,partynum,both,school,graduate,dorm);if (i < 0) {request.getRequestDispatcher("adderror.jsp").forward(request, response);} else {response.sendRedirect("index.jsp");}}} else {System.out.println("密码不一致");request.getRequestDispatcher("adderror.jsp").forward(request,response);}}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doGet(request, response);}}
- web开发中文数据写入到数据库乱码问题
- JSP页面写入中文到数据库乱码问题
- 解决PHP写入、读取MYSQL数据库数据中文乱码问题
- WEB开发保存数据中文乱码问题
- PHP写入数据库中文乱码问题
- 后台写入MySQL数据库中文乱码问题
- 程序写入数据库中文乱码问题
- 采用hibernate写入中文到mysql数据库出现中文乱码的问题
- 中文数据写入MySql乱码问题
- jsp页面添加中文数据到mysql数据库乱码问题
- jsp页面添加中文数据到mysql数据库乱码问题
- jsp页面添加中文数据到mysql数据库乱码问题
- 解决servlet中文数据传入到数据库乱码问题
- 表单中文数据提交到MySQL数据库乱码问题
- 解决存储数据到mysql数据库中文乱码的问题
- Web开发中文乱码问题
- php写入数据到数据库以及Mysql数据库乱码的问题
- 后台存储数据到数据库中文乱码
- C#程序设计--输入一个整数,按数字反顺序输出
- window.opener.location.reload() and href()的区别
- boost之Interprocess库,进程间通讯库之condition/mutex/scoped_lock
- 电脑ping权限的设置
- window mysql的sql文件到linux下执行,中文乱码
- web开发中文数据写入到数据库乱码问题
- iOS Client 与WebSocket 通信(一)
- jQuery源码学习
- Java中channel的应用总结
- mpi中利用自定义归约操作实现merge
- 自己总结线程并发的访问资源的解决方法
- 开发实时壁纸
- SLF4J+Logback 日志框架使用
- THE COINBASE BLOG