JSP学习笔记(九十四):解决网址url传递参数中文乱码的问题

之前转了一篇文章:《转:java中文乱码的解决》,利用文章介绍的方法可以解决一部分中文乱码的问题,可是有些时候依然不能奏效,比如通过网址url传递的参数,这里提供一种方法,可以解决该问题。

实现方法很简单,就是先把文字内容转为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方法的功能是把字符串按照指定字符拆解为数组。

转载于:https://www.cnblogs.com/modou/articles/1412175.html

你可能感兴趣的:(JSP学习笔记(九十四):解决网址url传递参数中文乱码的问题)