在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>

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

部分内容摘自百度。

转载请注明出处。。

java web中乱码的种类和一些解决方式的更多相关文章

  1. Java/Java Web中乱码解决汇总

    在开发Java/Java Web Application过程中,往往会出现乱码问题,而且有的时候真会弄得人很烦,浪费太多的时间. 记得之前看过一篇帖子,详细解释了Encoding/Decoding过程 ...

  2. Java Web中乱码问题

    response.setContentType("text/html;charset=UTF-8"); 用于定义网络文件的类型和网页的编码,决定浏览器将以什么形式.什么编码读取这个 ...

  3. Java web中常见编码乱码问题(一)

    最近在看Java web中中文编码问题,特此记录下. 本文将会介绍常见编码方式和Java web中遇到中文乱码问题的常见解决方法: 一.常见编码方式: 1.ASCII 码 众所周知,这是最简单的编码. ...

  4. Java web中常见编码乱码问题(二)

    根据上篇记录Java web中常见编码乱码问题(一), 接着记录乱码案例: 案例分析:   2.输出流写入内容或者输入流读取内容时乱码(内容中有中文) 原因分析: a. 如果是按字节写入或读取时乱码, ...

  5. 解决java web中safari浏览器下载后文件中文乱码问题

    解决java web中safari浏览器下载后文件中文乱码问题 String fileName = "测试文件.doc"; String userAgent = request.g ...

  6. 【中文乱码】深入分析 Java Web 中的中文编码问题

    深入分析 Java Web 中的中文编码问题 1.几种常见的编码格式 1.1 为什么要编码 在计算机中存储信息的最小单元是 1 个字节,即 8 个 bit, 所以能表示的字符范围是 0 ~ 255 个 ...

  7. Java Web中解决乱码的方式

    Java Web中解决乱码的方式 方式一:添加编码过滤器 package com.itmacy.dev.filter; import javax.servlet.*; import javax.ser ...

  8. JAVA WEB 中的编码分析

    JAVA WEB 中的编码分析 */--> pre.src {background-color: #292b2e; color: #b2b2b2;} pre.src {background-co ...

  9. 深入分析Java Web中的编码问题

    编码问题一直困扰着我,每次遇到乱码或者编码问题,网上一查,问题解决了,但是实际的原理并没有搞懂,每次遇到,都是什么头疼. 决定彻彻底底的一次性解决编码问题. 1.为什么要编码 计算机的基本单元是字节, ...

随机推荐

  1. Git 版本管理工具命令速查

    转自:http://www.jb51.net/article/55442.htm 一. Git 常用命令速查 git branch 查看本地所有分支git status 查看当前状态 git comm ...

  2. OpenStack Rally 质量评估与自动化测试利器

    目录 文章目录 目录 问题描述 Rally 简介 应用场景 应用案例 Rally 安装 Rally 使用 Rally 架构 Rally Plugin 分析与实现 程序入口 执行 rally task ...

  3. python每日一练:0000题

    **第 0000 题:**将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果. 类似于图中效果 示例代码: from PIL import Image,Imag ...

  4. fragment嵌套子fragment

    场景: 需求是在expandablelistview的item长按会弹出一个对话框,对话框顶部一个选项卡,下面是fragment作相应的切换.对话框是用DialogFragment实现的. 问题: j ...

  5. linux 通配符与正则表达式

    linux通配符和三剑客(grep.awk.sed)正则表达式是不一样的 通配符一般用户命令行bash环境,而linux正则表达式用于awk.grep.sed

  6. 第二次课程总结&学习总结

    Java实验报告 班级 计算机科学与技术一班 学号 20188390 姓名 宋志豪 实验 写一个名为Rectangle的类表示矩形.其属性包括宽width.高height和颜色color,width和 ...

  7. Keil共存的方法 - Keil MDK兼容Keil C51,实操可行

    记录一下成功使Keil MDK和Keil C51共存的过程! 之前一直用Keil C51开发,最近需要用到ARM9内核的IC,就需要Keil C51和Keil MDK共存.看了一下网上几个教程,方法大 ...

  8. linux上执行mysql的脚本文件

    我们测试过程中,经常需要执行升级脚本或导入生产测试数据,对于轻量的升级脚本可以直接在客户端工具中打开执行,但是对于文件内容比较大的.sql文件,比如几百M,几G的sql文件,直接拖到客户端工具打开执行 ...

  9. OI那些事——AFO

    \(OI\)那些事--\(AFO\) 世界上从此少了一个\(Oier\)也不会有人知道,也许只有某个人在某年某月某日翻到了Eternal 风度的博客才会发现:哇,这哥们怎么\(Noip\)就退役了 两 ...

  10. 搜索专题: HDU1258Sum It Up

    Sum It Up Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total ...