中文乱码问题

中文乱码问题及解决方法

在页面中出现乱码,是由于字符编码格式对中文的支持所导致的,或者是入库数据和出库数据编码格式不一致导致的。
当前使用Tomcat 7.0.82

字符编码的种类

常见的字符编码对中文的支持:

编码格式收录的字符
iso-8859-1不支持中文
gbk2312常用的简体汉字
gbk简体汉字和繁体汉字
utf-8所有国家需要的字符

JSP页面设置编码支持中文

为了使JSP页面很好的支持中文,在Jsp页面设置字符编码格式为:charset=”UTF-8” ,页面也设置为其他支持中文格式的编码。

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

HTML页面设置编码支持中文

为了使HTML页面很好的支持中文,在Jsp页面设置字符编码格式为:charset=”UTF-8”

<META http-equiv=Content-Type content="text/html;charset=utf-8">

get请求乱码问题解决


get请求由于参数是通过URL传递的。当保证获取数据页面和接受数据页面格式为utf-8时。

get请求解决乱码治标的方法

由于Tomcat7默认的iso-8859-1的编码,要将iso-8859-1编码格式转换为utf-8的格式

 String str = request.getParameter("user");
 String user = new String(str.getBytes("iso-8859-1"),"utf-8");
get请求解决乱码治本的方法

直接通过Tomcat目录下/conf/server.xml配置文件来解决。

<!--添加URIEncoding="utf-8" 来解决get请求乱码问题 -->
 <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URIEncoding="utf-8"/>

注意: Tomcat7默认的iso-8859-1的编码,Tomcat8默认的是utf-8的编码,当Tomcat8版本时就可以不设置。

post请求乱码问题解决

当post请求时,会将jsp转换为servlet文件,所以就是相当于设置servlet的请求和响应的编码格式。
JSP文件的执行流程可以参考:http://blog.csdn.net/zx6571269/article/details/78462985

  1. 设置tomcat编码格式,与get请求设置一样
  2. 当接受请求时设置resquest编码格式

request.setCharacterEncoding(“utf-8”);

  1. 当响应时设置response编码格式

response.setCharacterEncoding(“utf-8”);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值