java servlet乱码问题_java servlet中文乱码总结

一、servlet

1)将接收的内容(参数)进行编码

request.setCharacterEncodeing(String charset);

2)将要输出的转发的内容进行编码

response.setContextType("text/html;charset=utf-8");

二、jsp

三、Js

1.传参页面

Javascript代码:

2. 接收参数页面:test02.html

var urlinfo = window.location.href;//獲取url

var userName = urlinfo.split(“?”)[1].split(“=”)[1];//拆分url得到”=”後面的參數

$(“#userName”).html(decodeURI(userName));

二:如何获取Url“?”后,“=”的参数值:

A.首先用window.location.href获取到全部url值。

B.用split截取“?”后的全部

C.split(“?”)后面的[1]内数字,默认从0开始计算

escape,unescape,encodeURI,encodeURIComponent区别:

1.传递参数时候使用,encodeURIComponent否则url中很容易被”#”,”?”,”&”等敏感符号隔断。

2.url跳转时候使用,编码用encodeURI,解码用decodeURI。

3.escape()只是为0-255以外ASCII字符 做转换工作,转换成的%u****这样的码,如果要用更多的字符如UTF-8字符库 就一定要用encodeURIComponent()或encodeURI()转换才可以成%nn%nn这的码才可以,其它情况下escape,encodeURI,encodeURIComponent编码结果相同,所以为了全球的统一化进程,在用encodeURIComponent()或encodeURI()代替escape()使用吧!

四、struts

设置常量:

五、spring

在您通过表单向服务器提交数据时,一个经典的问题就是中文乱码问题。虽然我们所有 的 JSP 文件和页面编码格式都采用 UTF-8,但这个问题还是会出现。解决的办法很 简单,我们只需要在 web.xml 中配置一个 Spring 的编码转换过滤器就可以了.

使用在非struts2框架开发:

org.springframework.web.filter.CharacterEncodingFilter

characterEncodingFilter

org.springframework.web.filter.CharacterEncodingFilter

encoding

UTF-8

forceEncoding

true

characterEncodingFilter

/*

六、html

表单中的数据会按照当前页面来进行编码。

模拟消息头content-type,让浏览器以utf-8编码打开页面。

确保页面将表单用指定的字符编码进行编码。

七、cookie

cookie的值只能是ascii字符,如果是中文,需要将中文转换成ascii字符形式。

可以使用URLEncoder.encode()方法和URLDecoder.decode()方法来进行这种转换。

一、servlet

1)将接收的内容(参数)进行编码

request.setCharacterEncodeing(String charset);

2)将要输出的转发的内容进行编码

response.setContextType("text/html;charset=utf-8");

二、jsp

三、Js

1.传参页面

Javascript代码:

2. 接收参数页面:test02.html

var urlinfo = window.location.href;//獲取url

var userName = urlinfo.split(“?”)[1].split(“=”)[1];//拆分url得到”=”後面的參數

$(“#userName”).html(decodeURI(userName));

二:如何获取Url“?”后,“=”的参数值:

A.首先用window.location.href获取到全部url值。

B.用split截取“?”后的全部

C.split(“?”)后面的[1]内数字,默认从0开始计算

escape,unescape,encodeURI,encodeURIComponent区别:

1.传递参数时候使用,encodeURIComponent否则url中很容易被”#”,”?”,”&”等敏感符号隔断。

2.url跳转时候使用,编码用encodeURI,解码用decodeURI。

3.escape()只是为0-255以外ASCII字符 做转换工作,转换成的%u****这样的码,如果要用更多的字符如UTF-8字符库 就一定要用encodeURIComponent()或encodeURI()转换才可以成%nn%nn这的码才可以,其它情况下escape,encodeURI,encodeURIComponent编码结果相同,所以为了全球的统一化进程,在用encodeURIComponent()或encodeURI()代替escape()使用吧!

四、struts

设置常量:

五、spring

在您通过表单向服务器提交数据时,一个经典的问题就是中文乱码问题。虽然我们所有 的 JSP 文件和页面编码格式都采用 UTF-8,但这个问题还是会出现。解决的办法很 简单,我们只需要在 web.xml 中配置一个 Spring 的编码转换过滤器就可以了.

使用在非struts2框架开发:

org.springframework.web.filter.CharacterEncodingFilter

characterEncodingFilter

org.springframework.web.filter.CharacterEncodingFilter

encoding

UTF-8

forceEncoding

true

characterEncodingFilter

/*

六、html

表单中的数据会按照当前页面来进行编码。

模拟消息头content-type,让浏览器以utf-8编码打开页面。

确保页面将表单用指定的字符编码进行编码。

七、cookie

cookie的值只能是ascii字符,如果是中文,需要将中文转换成ascii字符形式。

可以使用URLEncoder.encode()方法和URLDecoder.decode()方法来进行这种转换。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值