访问带有中⽂路径的⽹络资源⽆法访问时需要转换编码/math/resources/%E4%BD%A0%E5%
此时需要我们⼿动转换成gb2312编码的url即OK
服务端接收时也是以gb2312的编码格式接受,然后反转回来就好。
url编码和utf8区别以下是将url转成gb2312的编码代码:
public static String encodeUrlToGB2312(String url)
throws UnsupportedEncodingException {
StringBuffer sb = new StringBuffer();
for (int i = 0; i < url.length(); i++) {
String s = url.substring(i, i + 1);
byte[] bytes = s.getBytes("gb2312");
if (bytes.length == 1) { // 如果为⼀个字节则直接加⼊StringBuffer(中⽂⾄少为两个字节,⼀个字节不可能为中⽂)
if (bytes[0] == ' ')
sb.append("%20");
else
sb.append(s);
} else {
for (int j = 0; j < bytes.length; j++) {
sb.append("%" + toHexString(bytes[j]));
}
}
}
String();
}
其中"20%"是“ ”空格。按此⽅法可轻松解决url路径中包含中⽂不兼容问题。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论