Jsp默认的字符编码格式是iso-8859-1

因为post方法与get方法传递参数的方式不一样,所以有不同的解决方法。

一、post乱码解决方法:
 1.设置请求和响应的编码方式
 //设置请求的编码格式
 request.setCharacterEncoding("UTF-8");
 //设置响应的编码格式
 response.setCharacterEncoding("UTF-8");
 或者
 <%@page language="java" contentType="text/html;charset=utf-8"%>

post中文乱码还可以设置filter过滤器,直接使用代码就可以,最后要去web.xml中配置

public class CharacterEncoding implements Filter {

    @Override
public void destroy() {
} @Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
//这是post中文乱码的处理方式,get中文处理方式是在tomcat中配置
//设置字符编码
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
//注意这句一定要有,作用是将请求转发给过滤器链上下一个对象
//filter链
chain.doFilter(request, response);
//然后还要去web.xml中配置
} @Override
public void init(FilterConfig arg0) throws ServletException {
} }

filter在web.xml中的配置代码

 <filter>
<filter-name>CharacterEncoding</filter-name>
<filter-class>filter.CharacterEncoding</filter-class>
</filter>
<filter-mapping>
<filter-name>CharacterEncoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

二、get乱码解决方法:
 1.治标方法
 //先获取登录页面username的数据
 String username=request.getParameter("username");
 //将username字符编码改为utf-8
 String un=new String(username.getBytes("iso-8859-1"),"utf-8");
 //然后打印输出un
 out.print(un);

2.治本方法
 在Tomcat安装目录下找到server.xml文件找到下面代码添加 URIEncoding="UTF-8"
 D:\Program Files\apache-tomcat-8.0.33\apache-tomcat-8.0.33\conf\server.xml
   <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"  URIEncoding="UTF-8"/>

或者
 添加  useBodyEncodingForURI="true"
 <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"  useBodyEncodingForURI="true"/>

---------------------------------------------------------------------------------------------------------------

在datebase.properties配置文件中 加入下面这句代码

可以避免中文输入到数据库产生乱码的情况

url=jdbc:mysql://127.0.0.1:3306/news?useUnicode=true&characterEncoding=utf-8

最新文章

  1. 远程debug调试java代码
  2. 支持断线重连、永久watcher、递归操作并且能跨平台(.NET Core)的ZooKeeper异步客户端
  3. web学习之servlet
  4. Android 图片浏览器 从原来位置放大至全屏显示
  5. UNITY更新到5后设置的动画无法播放了怎么办
  6. Erlang ERTS的Trap机制的设计及其用途
  7. CentOS6.5下MAC
  8. 读metronic文档学到的几个知识点
  9. 在EF的code frist下写稳健的权限管理系统:MVC过滤拦截,权限核心(五)
  10. OpenGL学习之路(四)
  11. php 钩子函数原理 解析
  12. 上传python包到PyPI
  13. JavaWeb图表插件的小研究
  14. 绿色版的mysql安装配置方式
  15. 12.04 ubuntu 进入登录界面,账号密码确定是正确的但是进不来系统。
  16. IOT
  17. Spring MVC的原理及配置详解
  18. 开源框架.netCore DncZeus学习(五)下拉树的实现
  19. windows平台下利用Nginx做负载均衡
  20. ECharts.js学习(一) 简单入门

热门文章

  1. 在zookeeper集群的基础上,搭建solrCloud
  2. Java,猜猜输出是什么?
  3. 【NOI2002】荒岛野人
  4. 利用PHPExcel将数据导出到xls格式的excel文件
  5. SpringBoot22 Ajax跨域、SpringBoot返回JSONP、CSRF、CORS
  6. while 循环和do while循环
  7. 3、python的传入参数
  8. wordpress+lnmp出现 404 Not Found nginx
  9. C#获取文件的Content-Type(MIME Type)的方法
  10. Quartus II 14.0正式版 下载链接和破解器