文选流氓 发表于 2003-5-12 21:38

1-1-16-6-5 还是汉字问题,我看了精华区的,不管用

发信人: weffen (wef), 信区: Java
标题: Re: 还是汉字问题,我看了精华区的,不管用
发信站: BBS 水木清华站 (Thu May4 11:10:28 2000)

首先,如果你是用post方法的话,就localize就okay了:

public static String localize(String original, String local){

    if(local==null)
      local = "ISO-8859-1";
    try{
      return (new String(original.getBytes("ISO-8859-1"),local));
    }
    catch(Exception e){
      System.out.println(e.getMessage());
      return original;
    }
}
如果用GET方式的话,尤其是自己写 servlet?param=chinese的话,就有点麻烦:
首先,把参数的中文Unicode化:
public static String unicodize(String original, String local){

    if(local==null)
      local = "ISO-8859-1";
    try{
      return (new String(original.getBytes(local),"ISO-8859-1"));
    }
    catch(Exception e){
      System.out.println(e.getMessage());
      return original;
    }
}

然后,URLEncode.encode()那个unicodize的中文,接收的时候再localize,就变成你要的
东西了

【 在 joywing (joywing) 的大作中提到: 】
: 我用servlet取得表单中的汉字
: 如何将他们显示在浏览器上


--
※ 来源:·BBS 水木清华站 smth.org·

文选流氓 发表于 2003-5-12 21:38

发信人: javafancy (love java), 信区: Java
标题: Re: 还是汉字问题,我看了精华区的,不管用
发信站: BBS 水木清华站 (Thu May4 11:51:50 2000)

也可以用这个方法
byte[] temp_t;
String temp_p;
temp_p=request.getParameter("message");
temp_t=temp_p.getBytes("ISO8859-1");
String temp=new String(temp_t);
原理和weffen大虾的一样

【 在 weffen (wef) 的大作中提到: 】
: 首先,如果你是用post方法的话,就localize就okay了:
:   public static String localize(String original, String local){
:   if(local==null)
:       local = "ISO-8859-1";
:   try{
:       return (new String(original.getBytes("ISO-8859-1"),local));
:   }
:   catch(Exception e){
:       System.out.println(e.getMessage());
:       return original;
:   }
:   }
: 如果用GET方式的话,尤其是自己写 servlet?param=chinese的话,就有点麻烦:
: 首先,把参数的中文Unicode化:
:   public static String unicodize(String original, String local){
:   if(local==null)
:       local = "ISO-8859-1";
:   try{
:       return (new String(original.getBytes(local),"ISO-8859-1"));
:   }
:   catch(Exception e){
:       System.out.println(e.getMessage());
:       return original;
:   }
:   }
: 然后,URLEncode.encode()那个unicodize的中文,接收的时候再localize,就变成你要的
: 东西了
页: [1]
查看完整版本: 1-1-16-6-5 还是汉字问题,我看了精华区的,不管用