get与post中文乱码问题
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
最新文章
- 远程debug调试java代码
- 支持断线重连、永久watcher、递归操作并且能跨平台(.NET Core)的ZooKeeper异步客户端
- web学习之servlet
- Android 图片浏览器 从原来位置放大至全屏显示
- UNITY更新到5后设置的动画无法播放了怎么办
- Erlang ERTS的Trap机制的设计及其用途
- CentOS6.5下MAC
- 读metronic文档学到的几个知识点
- 在EF的code frist下写稳健的权限管理系统:MVC过滤拦截,权限核心(五)
- OpenGL学习之路(四)
- php 钩子函数原理 解析
- 上传python包到PyPI
- JavaWeb图表插件的小研究
- 绿色版的mysql安装配置方式
- 12.04 ubuntu 进入登录界面,账号密码确定是正确的但是进不来系统。
- IOT
- Spring MVC的原理及配置详解
- 开源框架.netCore DncZeus学习(五)下拉树的实现
- windows平台下利用Nginx做负载均衡
- ECharts.js学习(一) 简单入门
热门文章
- 在zookeeper集群的基础上,搭建solrCloud
- Java,猜猜输出是什么?
- 【NOI2002】荒岛野人
- 利用PHPExcel将数据导出到xls格式的excel文件
- SpringBoot22 Ajax跨域、SpringBoot返回JSONP、CSRF、CORS
- while 循环和do while循环
- 3、python的传入参数
- wordpress+lnmp出现 404 Not Found nginx
- C#获取文件的Content-Type(MIME Type)的方法
- Quartus II 14.0正式版 下载链接和破解器