您的位置:首页 > 其它

网址url传递参数包含中文时乱码的问题的解决

2012-05-24 08:56 537 查看
实现方法很简单,就是先把文字内容转为Unicode,就是编码的过程。然后在用到的地方再转为汉字,也就是解码的过程。Unicode的概念不在本文的讲解范围之内,需要了解相关内容请查询对应介绍。

下面直接贴代码了:

/**

* 编码从GBK转换成Unicode

* @param str

* @return

*/

public static String Gbk2Unicode(String str) {

StringBuffer buffer = new StringBuffer();

String splitString = "";

for (int i = 0; i < str.length(); i++) {

buffer.append(splitString);

buffer.append(Integer.toHexString(str.charAt(i)));

splitString = ",";

}

return buffer.toString();

}

/**

* 编码从Unicode转换成GBK

* @param str

* @return

*/

public static String Unicode2Gbk(String str) {

StringBuffer buffer = new StringBuffer();

String[] arr = StringUtils.split(str, ',');

for (int i = 0; i < arr.length; i++) {

buffer.append((char) Integer.parseInt(arr[i], 16));

}

return buffer.toString();

}

代码很简单,如何使用这里就不在举例了,方法里使用到了commons.lang包里的StringUtils.split方法,在使用前需要引用
commons.lang包,或是改用其他的实现方式。StringUtils.split方法的功能是把字符串按照指定字符拆解为数组。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: