java中怎么处理中文参数-亚博电竞手机版
本篇文章给大家分享的是有关java中怎么处理中文参数,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
get中文乱码
//获取表单提交的姓名
string name=request.getparameter("name");
name=new string(name.getbytes("iso-8859-1"),"utf-8");
在tomcat7及以下客户端以utf-8的编码传输数据到服务器端,而服务器端的request对象使用的是iso-8859-1这个字符编码来接收数据,服务器和客户端沟通的编码不一致因此才会产生中文乱码的。
解决办法:在接收到数据后,先获取request对象以iso8859-1字符编码接收到的原始数据的字节数组,然后通过字节数组以指定的编码构建字符串,解决乱码问题。
tomcat8的版本中get基本就不会乱码了,因为服务器对url的编码格式可以进行自动转换
post乱码
由于客户端是以utf-8字符编码将表单数据传输到服务器端的,因此服务器也需要设置以utf-8字符编码进行接收,并且必须在接收参数之前定义;
//设置请求参数的编码格式--对get无效
request.setcharacterencoding("utf-8");
servlet输出中文
1 页面返回乱码原因
浏览器识别不到返回的中文是什么编码格式,就会默认使用gb2312,如果返回的是utf-8格式的那么在浏览器上就会显示乱码的问题
2 如何解决内容中的乱码
response.setcontenttype("text/html;charset=utf-8");
3 综合设置
在接收参数值之前:
request.setcharacterencoding("utf-8");//设置请求的编码
response.setcharacterencoding("utf-8");//设置响应的编码
response.setcontenttype("text/html;charset=utf-8");//设置响应类型和响应内容的编码
以上就是java中怎么处理中文参数,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注恰卡编程网行业资讯频道。