当前位置:  技术问答>java相关

为什么在linux上,response.sendRedirect还有问题?

    来源: 互联网  发布时间:2015-03-24

    本文导语:  我写了一个servlet,其中要将错误信息转发: url = String url = "error?text=" + java.net.URLEncoder.encode("错误"); res.sendRedirect(url); 在error中,用URLDecoder.decode(text),即可得到中文。 这个servlet在win2000上正常工作,但在linux redh...

我写了一个servlet,其中要将错误信息转发:
url = String url = "error?text=" + java.net.URLEncoder.encode("错误");
res.sendRedirect(url);

在error中,用URLDecoder.decode(text),即可得到中文。

这个servlet在win2000上正常工作,但在linux redhat 7.2中就不行。
我用了new String(str.getBytes(text), "ISO-8859-1","GB2312")等方法,但没有用。

结果地址栏中应当是B2%E2%CA%D4%D2%B3%C3%E6这样的串才对。
但现在是:????或是%3F%3F%3F%3F%3F%3F%3F%3F。

我的servlet engine是domino 5.09. linux redhat 7.2
jre是1.1.8,我把1.3的URLDecoder解压出来用了。

javac TestServlet.java -encoding GB2312
也用了。

而我如果是用一个href来实现,url = "error?text=...."。
linux下,在error中只需要用new String(str.getBytes(text), "ISO-8859-1","GB2312")转换即可。中文就好了。但这个sendRedirect有问题。

不知道是否和操作系统有关,我的redhat是英文,是不是需要汉化? 

哪位高手指教。在下感激涕零!

|
好像在非中文系统中在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")“????”是其他的编码,如果成功通知我一声哦!

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

|
升级JDK到1。2。2

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux我刚接触,我装了linux后,却把用户名和口令忘了,还有办法进却吗
  • 请问:除了Red Hat Linux还有什么其他什么Linux?
  • 自己的机器上不能安装linux,还有办法学习linux吗?
  • 请问各位大虾:笔记本安装Linux的多吗?还有,笔记本对Linux的支持好吗?
  • linux新手想请问大家你们在linux下通常用什么开发语言和工具(C多点还是C++多点还是pascal ?还有工具方面?)
  • Linux有多大?我的硬盘还有2G,够不够装?
  • 在linux下除了gdb外还有没其他好用的调试器?
  • 用linux看csdn的目录树乱码,还有下载很慢,有优化办法吗?
  • 大家来讨论一下,在linux下除了openGL还有什么可以用于多媒体视频开发的接口库?
  • linux如何查看是否还有端口可用?
  • 请问学习linux还有什么前景吗?
  • linux下有没有类似于debugview的东东///或者linux下除了gdb,还有什么可以用于调试的软件吗?
  • 对于现在的linux/unix而言,终端波特率的设置,还有实际意义么?
  • 哪位大侠知道Linux哪个C函数可以获得目录还有多大地方可用?
  • 请教一下linux下除了ps命令还有什么方法能得到进程的信息
  • LINUX中连接C++的库怎么连接.库在什么位置,还有什么特殊命令吗?
  • 请问linux下访问局域网共享文件的软件除了samba还有什么?
  • 求redhat linux 9.0下可以使用的oracle 10g或9i,还有redhat linux 9.0下可以使用的eclipse下载地址
  • /etc/passwd 文件不小心被我删除了,linux登陆进不了系统,还有办法挽救吗??急
  • 大家有人用过即时Linux的吗?? 还有怎么加密grub
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • secureCRT下Linux终端汉字乱码解决方法
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux c字符串中不可打印字符转换成16进制
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux
  • linux命令大全详细分类介绍及常用linux命令文档手册下载


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3