各种乱码问题

一、客户端浏览器到服务器端传参的编码总结  

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

1.pageEncoding为jsp文件本身的编码。jsp编译成.java时,它会根据pageEncoding的设定读取jsp。如果pageEncoding设定错了,或没有设定,出来的就是中文乱码。 (如果pageEncoding不为UTF-8,eclipse会提示不能保存带有中文的jsp页面文件,哪怕小写的utf-8也不行)。

2.contentType的charset是指服务器发送给客户端时的内容编码。设定错了,或没有设定,出来的就是中文乱码。

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

3.告诉浏览器显示页面需要的字符集,如果浏览器缺少该字符集则需要下载对应字符集。详见附A。

request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");

4.保持和第2点的编码一致,通常写filter解决,需要放在最前面。前者用于客户端提交数据,后者用户服务器返回数据。

String encvalue = new String(value.getBytes("ISO8859-1"),"UTF-8");

5.如果是post传入,则无需上面的代码,如果是get传入,则比较麻烦,因为url的编码未定。方法有2种,一种为在程序上修改。以上为tomcat,url编码是ISO8859-1,转成UTF-8。另一种方法为修改tomcat配置件,在此不做详解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值