当前位置: 代码迷 >> Java Web开发 >> urlrewrite 中文乱码有关问题
  详细解决方案

urlrewrite 中文乱码有关问题

热度:616   发布时间:2016-04-16 23:56:00.0
urlrewrite 中文乱码问题
请求地址:/search/冒险.html
在Action里获取时,是乱码“??”

String keyword = null == request.getParameter("keyword") ? "" : request.getParameter("keyword");
keyword = new String(keyword .getBytes("ISO-8859-1"),"utf-8");

这里打印出来是乱“??”,怎么解决啊!

------解决方案--------------------
URL在前台用JS编码一下encodeURI!
function testUrl(){
    var keyword = "乱码";
    var url = '你的请求地址加参数'+encodeURI(keyword);
    window.location.href = url ;
}


//后台这样转码获取   
String Name=new String(URLDecoder.decode(request.getParameter("name"),"utf-8"));


在不行
在Web容器的server.xml文件中找到下面的节点、加上编码 URIEncoding="UTF-8"
<Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" URIEncoding="UTF-8"/>

------解决方案--------------------
关于页面转码问题,个人有小结,希望可以给你帮助:
1.页面都改成UTF-8格式
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
2.如果页面时使用get提交方式:则使用request.setCharacterEncoding("utf-8");
3.如果是post提交方式:则使用字符创强转:String name = new String(request.getParameter("参数").getBytes("iso-8859-1"),"utf-8");
4.在web.xml文件里配置字符集过滤器(此方法只对post提交方式有作用)
<!-- 字符集过滤 -->
 <filter>
 <filter-name>encodingFilter</filter-name>
 <filter-class>
 org.springframework.web.filter.CharacterEncodingFilter
 </filter-class>
 <init-param>
 <param-name>encoding</param-name>
 <param-value>UTF-8</param-value>
 </init-param>
 <init-param>
 <param-name>forceEncoding</param-name>
 <param-value>false</param-value>
 </init-param> 
</filter>
 <filter-mapping>
 <filter-name>encodingFilter</filter-name>
 <url-pattern>/*</url-pattern>
 </filter-mapping>
以上是个人学习时的总结,有不对的可以指出,嘻嘻!
------解决方案--------------------
引用:
关于页面转码问题,个人有小结,希望可以给你帮助:
1.页面都改成UTF-8格式
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
2.如果页面时使用get提交方式:则使用request.setCharacterEncoding("utf-8");
3.如果是post提……

+1   总结的很全面。LZ可以试试
------解决方案--------------------
引用:
这个是查询啊,查询出来的结果有多条啊!那么在分页时候,这个参数怎么转码呢!
在action里面,二次调用java.net.URLEncoder.encode(keyword,"utf-8");
是不行的,我在想能不能在java里用js转码,不知可不可行!



不知道这个跟你说的分页什么关系!

------解决方案--------------------
用java.net.URLEncoder编码和解码,分页时也一样用这个!就OK了!