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");