java web中乱码的种类和一些解决方式
在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中乱码的种类和一些解决方式的更多相关文章
- Java/Java Web中乱码解决汇总
在开发Java/Java Web Application过程中,往往会出现乱码问题,而且有的时候真会弄得人很烦,浪费太多的时间. 记得之前看过一篇帖子,详细解释了Encoding/Decoding过程 ...
- Java Web中乱码问题
response.setContentType("text/html;charset=UTF-8"); 用于定义网络文件的类型和网页的编码,决定浏览器将以什么形式.什么编码读取这个 ...
- Java web中常见编码乱码问题(一)
最近在看Java web中中文编码问题,特此记录下. 本文将会介绍常见编码方式和Java web中遇到中文乱码问题的常见解决方法: 一.常见编码方式: 1.ASCII 码 众所周知,这是最简单的编码. ...
- Java web中常见编码乱码问题(二)
根据上篇记录Java web中常见编码乱码问题(一), 接着记录乱码案例: 案例分析: 2.输出流写入内容或者输入流读取内容时乱码(内容中有中文) 原因分析: a. 如果是按字节写入或读取时乱码, ...
- 解决java web中safari浏览器下载后文件中文乱码问题
解决java web中safari浏览器下载后文件中文乱码问题 String fileName = "测试文件.doc"; String userAgent = request.g ...
- 【中文乱码】深入分析 Java Web 中的中文编码问题
深入分析 Java Web 中的中文编码问题 1.几种常见的编码格式 1.1 为什么要编码 在计算机中存储信息的最小单元是 1 个字节,即 8 个 bit, 所以能表示的字符范围是 0 ~ 255 个 ...
- Java Web中解决乱码的方式
Java Web中解决乱码的方式 方式一:添加编码过滤器 package com.itmacy.dev.filter; import javax.servlet.*; import javax.ser ...
- JAVA WEB 中的编码分析
JAVA WEB 中的编码分析 */--> pre.src {background-color: #292b2e; color: #b2b2b2;} pre.src {background-co ...
- 深入分析Java Web中的编码问题
编码问题一直困扰着我,每次遇到乱码或者编码问题,网上一查,问题解决了,但是实际的原理并没有搞懂,每次遇到,都是什么头疼. 决定彻彻底底的一次性解决编码问题. 1.为什么要编码 计算机的基本单元是字节, ...
随机推荐
- 【Python】—— 获取当前运行函数名称和类方法名称
原文出处: python笔记19-获取当前运行函数名称和类方法名称 获取函数名称 1.在函数外部获取函数名称,用.__name__获取 2.函数内部获取当前函数名称,用sys._getframe(). ...
- php5.4编译安装apache
1.下载源码包 wget 网址/php-5.4.45.tar2.解压源码包 tar -zxvf php-5.4.45.tar3.创建一个安装目录 mkdir /usr/local/php4.进入解压后 ...
- 阶段3 1.Mybatis_10.JNDI扩展知识_1 补充-JNDI概述和原理
H:\BaiDu\黑马传智JavaEE57期 2019最新基础+就业+在职加薪\讲义+笔记+资料\主流框架\31.会员版(2.0)-就业课(2.0)-Mybatis\mybatis\mybatis_d ...
- 阶段3 1.Mybatis_03.自定义Mybatis框架_3.自定义mybatis的编码-根据测试类中缺少的创建接口和类
先认识一下这几个类.Resources是一个class SqlSessionFactoryBuilder 创建新项目 复制相关的依赖 复制之前的代码 复制到当前项目的src下 把Mybits的依赖删除 ...
- JavaSE部分1.Java基础
1.为什么重写equals()还要重写hashcode()? (equals()和hashCode()是java Object中两个基本方法) 首先equals与hashcode间的关系是这样的: ...
- Shiro 学习
<转载于 凯涛 博客> Shiro目录 第一章 Shiro简介 第二章 身份验证 第三章 授权 第四章 INI配置 第五章 编码/加密 第六章 Realm及相关对象 第七章 ...
- IntelliJ IDEA 配置 Hadoop 源码阅读环境
1.下载安装IDEA https://www.jetbrains.com/idea/download/#section=windows 2.下载hadoop源码 https://archive.apa ...
- CSS3——表单 计数器 网页布局 应用实例
CSS应用实例 表单 实例 输入框样式 输入框填充-----内边距 输入框------边框 输入框-----颜色 输入框-----聚焦 输入框-------图标 输入框------动画 [自动右滑] ...
- html的标签规范
if/else标签{ % if condition1 %} ... display 1{ % elif conditon2 %} ... display 2{ % else % } ... displ ...
- codeforces 1186C Vus the Cossack and Strings
题目链接:https://codeforc.es/contest/1186/problem/C 题目大意:xxxxx(自认为讲不清.for instance) 例如:a="01100010& ...