why u must using the chinese into the redirect URL.
Can u replace it with english.

解决方案 »

  1.   

    好像在非中文系统中在URL后用中文参数会出错的,我曾在日文系统中试过,还望高手赐教!
    建议:记得在JSP中URL后的中文可直接读出的(当然要在中文平台下)
    首先你要搞清楚java.net.URLEncoder.encode()是把String转成什么编码了,如果是系统的(英文),那直接URLDecoder.decode(),new String(str.getBytes(text), "ISO-8859-1","GB2312")应该没问题的,但从你的显现看处理后String已经丢位了。所以很可能LINUX或domino 5.09的内部编码不是ISO_8859_1,所以你可以试试其他的编码方式:new String(str.getBytes(text), "?????","GB2312")“????”是其他的编码,如果成功通知我一声哦!
      

  2.   

    skyyoung(路人甲): domino 5.09 jre 好像没法升级喔。
    pengji(彭乃超):ok. let me try try see.
    gzwrj(redwing):of course, i can use english error message. but is not friendly. And someone tell me can use the message map list, u just need send the message number. it's a solution, but not scalable. i don't want to do it this way. :(多谢各位答复。
      

  3.   

    skyyoung(路人甲):
    怎么升级?
    我用的是domino 5.08, 5.09中的servlet engine.
    jre是1.1.8. 我不知道怎么升级。可以升级吗?那像原来我用websphere 2.0,它带jdk 1.1.6,我指定它的路径到jdk1.3,结果不行的。这些servlet engine的jre可以随便更换吗?麻烦你答复我一下。谢谢!
      

  4.   

    好了。在linux登录时选择中文,然后在sendRedirect之前用
    new String(str.getBytes("GB2312"),"ISO-8859-1"),
    接收页面用new String(str.getBytes("ISO-8859-1"),"GB2312")转换即可。
    看来主要是操作系统的问题。sender:
    url = "error?text=" + java.net.URLEncoder.encode(new String(str.getBytes("GB2312"), "ISO-8859-1"));receiver:
    text = new String(URLDecoder.decode(str).getBytes("ISO-8859-1"), "GB2312");
    或者:
    text = new String(str.getBytes("ISO-8859-1"), "GB2312");感谢大家答复。谢谢!