设置request.setCharacterEncoding()后,servlet中文乱码问题


对于常见的servlet中文乱码问题,主要是因为参数传递过程中未进行编码格式控制,在servlet方法的最前面加上request.setCharacterEncoding(),一般即可解决


但这次写项目时遇到这样一个问题,我在servlet中已进行了编码控制,可是中文仍是乱码,经过查阅资料发现问题如下:


在我这个项目中,因项目需要必须通过get方式进行请求,而request.setCharacterEncoding()的设置是仅对post请求生效的,因而实际上仍未进行编码控制



解决方案如下:

1.将请求方式改为post

2.仍使用get请求,在servlet中对获取到的中文参数进行如下处理:

new String(para.getBytes("UTF-8"), "ISO-8859-1"); 
其中:

para:中文参数

UTF-8:发送方的字符编码

ISO-8859-1:想要转换的字符编码
阅读更多
换一批

没有更多推荐了,返回首页