eclipse下用java连接mysql的乱码处理

1、更改eclipse编码环境

 Window->Preferences->General ->Content Type->Text->JSP 最下面设置为UTF-8

 Window->Preferences->General->Workspace   面板Text file encoding 选择UTF-8

 Window->Preferences->Web->JSP Files 面板选择 ISO 10646/Unicode(UTF-8)

2、更改mysql下数据库、表单、以及表单中的每个字段的编码格式,不同可视化工具请自行百度参考

3、更改发送数据和接收数据的编码:首先无论使用get方式提交,还是post方式提交,如果参数中包含中文,浏览器都会使用当前浏览器编码对其进行URL编码,然后服务器端再进行URL解码,如果浏览器提交数据的编码和服务器接收数据的编码格式不一致,那么就有可能产生中文乱码。

    post解决:request.setCharacterEncoding(myEncoding );

    request.setCharacterEncoding(myEncoding):浏览器提交到后台时对提交的数据设置编码

    response.setCharacterEncoding(myEncoding ):后台发送数据到浏览器时对对于发送数据,设置编码。

    get方式解决:

    浏览器中两次URL编码。

    服务器中自己再做一次URL解码。

    因为参数中包含中文,浏览器都会使用当前浏览器编码对其进行URL编码,然后服务器端再进行URL解码。如果首先将中文编码,然后再传到服务器端那么就不会出现乱码错误了。

   客户端:

   request.setCharacterEncoding("UTF-8");

  服务器端:

  String jname=URLDecoder.decode(request.getParameter("jobname"),"utf-8");

    

发布了46 篇原创文章 · 获赞 3 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/fengwuJ/article/details/81127383