让tomcat支持中文,主要有下面3个问题,中文url,,get中文参数(不管是参数值还是内容)和post中文参数(不管是参数值还是内容)
post最简单,代码里面加一句这个就可以
request.setCharacterEncoding(“UTF-8″);
中文url,比如http://www.hetaoblog.com/页面/1.html,这个我测试不需要特别处理,默认就支持
get中文参数,比如http://www.hetaoblog.com/页面/1.html?name=核桃博客&page=1
找到server.xml文件,找到下面这段,把下面黑体的加入就可以
<Connector port=”8080″ protocol=”HTTP/1.1″
connectionTimeout=”20000″
redirectPort=”8443″ URIEncoding=”UTF-8″/>
这在eclipse里面有个要注意的地方,如果你原来server已经建好了,修改windows->perfererence->runtime environments里面定义的server.xml是没用的,因为eclipse建server的时候,会把server的定义拷贝到workspace里面(比如.metadata\.plugins\org.eclipse.wst.server.core\tmp0\conf),所以改了以后最好重新建个server,这样就会起效果了;
当然,如果不改这个文件,也可以代码里面这样处理下; 当然,推荐用上面的方式;
另外,网上很多文章说需要同时改这两个,实测发现是不需要的;
paramValue = new String(paramValue.getBytes(“ISO8859_1″), “UTF-8″);
当然,get的请求url或参数是否需要支持中文这个是见仁见智了,以前我只在post里面出现中文,get的所有url,参数名和参数值都是用英文或数字;
现在觉得用中文也挺好,搞互联网的话说不定还有利于seo:)
post最简单,代码里面加一句这个就可以
request.setCharacterEncoding(“UTF-8″);
中文url,比如http://www.hetaoblog.com/页面/1.html,这个我测试不需要特别处理,默认就支持
get中文参数,比如http://www.hetaoblog.com/页面/1.html?name=核桃博客&page=1
找到server.xml文件,找到下面这段,把下面黑体的加入就可以
<Connector port=”8080″ protocol=”HTTP/1.1″
connectionTimeout=”20000″
redirectPort=”8443″ URIEncoding=”UTF-8″/>
这在eclipse里面有个要注意的地方,如果你原来server已经建好了,修改windows->perfererence->runtime environments里面定义的server.xml是没用的,因为eclipse建server的时候,会把server的定义拷贝到workspace里面(比如.metadata\.plugins\org.eclipse.wst.server.core\tmp0\conf),所以改了以后最好重新建个server,这样就会起效果了;
当然,如果不改这个文件,也可以代码里面这样处理下; 当然,推荐用上面的方式;
另外,网上很多文章说需要同时改这两个,实测发现是不需要的;
paramValue = new String(paramValue.getBytes(“ISO8859_1″), “UTF-8″);
当然,get的请求url或参数是否需要支持中文这个是见仁见智了,以前我只在post里面出现中文,get的所有url,参数名和参数值都是用英文或数字;
现在觉得用中文也挺好,搞互联网的话说不定还有利于seo:)