URL编码问题

我在做搜索时,搜索出几页的结果。在点击下一页的链接时需要对搜索关键字进行urlEncode。

使用的是java.net.URLEncoder.encode(key,"UTF-8")对关键字进行编码。

下面是在windows操作系统下,打印出接收到的编码过的关键字,完全正常。

但是在linux下,打印出来却乱码了。

请教各位大侠。

如果是tomcat,改服务器的urlEncode为utf8,也不一定能起作用。根据我多次尝试,改服务器的urlEncode为utf8不如把JSP页面的pageEncoding和的charset设置为utf-8
<%@ page …… pageEncoding="utf-8" ……%>

你的linux系统是哪个发布版本,它的系统字符集编码默认是什么格式?

一般都是这方面的问题,你把系统的默认字符集改成zh_CN.UTF8.

问题应该出在web服务器上,检查一下web服务器的urlEncode是采用哪种编码,改成utf8,例如tomcat:
[code="xml"]
connectionTimeout="20000"
redirectPort="8443" URIEncoding="utf-8"/>
[/code]
这样配置就可以解决中文乱码了.

应该是linux下的编码格式问题

在linux下看看你的环境变量,配置一下编码格式

增加编码:

LANG=zh; LC_ALL=zh.GBK;
export LANG LC_ALL

保存后记得source环境变量文件 或 重新启动linux服务器