
java中url乱码解决方法:(引荐:java视频教程)
1、将字符串转码:newString(“xxxxx”.getBytes(“iso-8859-1”),”utf-8”)
这类转码体式格局有很大的弊病,由于它是运用指定的字符集将此String编码为 byte 序列,并将效果存储到一个新的byte 数组中,然后经由过程运用指定的字符编码将生成的byte 数组解码,组织一个新的String字符串。
这类状况就有大概碰到的状况是,不能将一个汉字悉数解码完。如许,前边的都能一般显现,然则末了一个字多是乱码。
所以不发起运用这类体式格局。
2、在传参前转码,吸收参数后再转码返来。
这类体式格局有两种:
第一种:
传参前:运用java.net.URLEncoder.encode(“xxxx”,“utf-8”),将中文转为16进制字符。
吸收参数后:运用java.net.URLDncoder.decode(“xxxx”,“utf-8”)将16进制字符转为中文。
这类体式格局须要注重的是,在运用encode转码后,会涌现特别字符,这时候,就须要将特别字符替换为响应的16进制。由于特别字符在url途径中做为参数通报时,也是乱码。
第二种:
传参前:encodeURI(“xxxx”) 。
吸收参数后:运用java.net.URLDncoder.decode(“xxxx”,“utf-8”)将16进制字符转为中文。
这类体式格局须要注重的是,在运用encodeURI转码后,会涌现特别字符,这时候,就须要将特别字符也转码,所以运用两次encodeURI,即:
encodeURI(encodeURI(“xxxx”))。
这两种转码体式格局是很好用的,所以很发起人人运用。
细致运用方法:
1、客户端:
url=encodeURI(url);
服务器:
String linename = new String(request.getParameter(“name”).getBytes(“ISO-8859-1”),“UTF-8”);
2、客户端:
url=encodeURI(encodeURI(url)); //用了2次encodeURI
服务器:
String linename = request.getParameter(name);
java : 字符解码
linename = java.net.URLDecoder.decode(linename , “UTF-8”);
更多java学问请关注java基础教程栏目。
以上就是java中url乱码解决方法的细致内容,更多请关注ki4网别的相干文章!