在java web课堂测试中遇到了一些乱码问题 ,从百度上找到了许多种解决方法和乱码的种类,在这里总结一下。

一、文件出现乱码

【右击文件】->【Properties】->【Resource】->【Text file encoding】

一般jsp文件的编码是 UTF-8

即:<%@ page language="java" pageEncoding="utf-8"%>

二、浏览器和服务器间传输数据的乱码

1、 浏览器端编码,由服务器端告诉浏览器如何解码数据:

response.setContentType("text/html; charset=UTF-8");或response.setCharacterEncoding("UTF-8");

这里是重新定向一下编码的类型

2、浏览器和服务器间传输数据时的乱码

服务器端编码,将客户端文本框传递的数据进行解码:默认使用ISO-8859-1进行编码数据,

然后将数据传输到服务器,需要将浏览器传递过来的类型进行转换为我们需要的类型

方法一:

String username = request.getParameter("username");
username = new String(username.getBytes("ISO-8859-1"), "UTF-8");

 方法二:

// 必须在获取参数之前,调用如下方法先解码
request.setCharacterEncoding("UTF-8");
String username = request.getParameter("username");

比较通用方案:在一个Filter中更改所有的编码方式:

在src中添加filter来设置编码格式是中文,添加一个filter类

然后在web.xml中配置filter类

filter类

public class CharFilter implements Filter{
String encoding = null;
@Override
public void init(FilterConfig filterConfig) throws ServletException {
encoding = filterConfig.getInitParameter("encoding");
} @Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
// request.setCharacterEncoding("utf-8");
request.setCharacterEncoding(encoding);
chain.doFilter(request, response);
} @Override
public void destroy() {
// TODO Auto-generated method stub }
}

  web.xml

<filter>
<filter-name>CharFilter</filter-name>
<filter-class>CharFilter所在包的地址</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>

这是我在这次测试中遇到的问题与总结。

部分内容摘自百度。

转载请注明出处。。

最新文章

  1. 通过参数传递,判断数字、字符串、list、tuple、词典等数据类型是否为可变数据对象
  2. Oracle报 ORA-00054资源正忙的解决办法
  3. BZOJ2286: [Sdoi2011]消耗战
  4. oracle deterministic 关键字
  5. wdlinux 一键安装
  6. 【转】Unity3D中脚本的执行顺序和编译顺序(vs工程引用关系)
  7. ubuntu14.04LTS 下storm单机版安装配置
  8. 在Android Eclipse 开发如何 使用 (*.aar)文件
  9. VS2010中的调试技巧
  10. sap中用函数增加断点(break point)
  11. [RxJS] Combining Streams with CombineLatest
  12. Oracle-函数大全
  13. 如何使用微信小程序云函数发送短信验证码
  14. Arthas:线上问题排查工具
  15. springmvc的面试知识点总结
  16. Java知多少(31)static关键字以及Java静态变量和静态方法
  17. 浅析SQL Server 中的SOS_SCHEDULER_YIELD类型的等待
  18. VS2008 安装WINCE插件报错 ToolsMsmCA(Error)解决方案___VS2008
  19. 定制选择范围的按钮RangeButton
  20. nagios监控安装esxi的服务器(宿主机)

热门文章

  1. PHP操作json
  2. 测开之路一百二十七:flask之构造response对象
  3. 用configmap管理配置
  4. python每日一练:0014题
  5. python下对文件的操作(非目录)
  6. 第9周总结&amp;实验报告7
  7. Tomcat进程、SFTP服务器
  8. exists、in和join比较
  9. Docker网络大揭秘(单机)
  10. Mybatis—动态sql拼接问题