JFinal关于utf-8编码下向后台传中文值显示为unicode,怎么显示中文

Dreampie 发布于 2014/07/07 14:08
阅读 5K+
收藏 0

 链接 http://localhost:9090/user/search?user_search=刘  (http://localhost:9090/ 可换成  www.dreampie.cn)

不是乱码  页面 request response  freemarker   jetty uri(maven jetty9)   都是utf-8  

 http://www.oschina.net/p/dreampie-jfinal   开源项目地址  可以下载下来看看    或者直接访问http://www.dreampie.cn  账户admin:dreampie
@JFinal

加载中
1
JFinal
JFinal
检查一下是否有 Interceptor 或者 Handler 对传入的数据进行了 encoding 
0
红薯苗
红薯苗
我的是页面是utf8 服务器是utf8 不用urlencoding编码解码也可以,实在不成,你加一个 URLEncoder
Dreampie
Dreampie
要从根源上解决该问题,不然变成到处都是URLEncode,URLDecode了,转来转去特费劲
0
JFinal
JFinal
调试一下,看是在哪里产生的乱码,先在 controller 中 getPara 出来看是不是乱码,追踪整个过程,定位错误就很好解决了。如果 me.setEncoding("utf-8") 的前提下,初步判断是 tomcat 或 jetty 的 get 请求编码不对,url 中传递的参数都是 get 请求
0
Dreampie
Dreampie

引用来自“JFinal”的评论

调试一下,看是在哪里产生的乱码,先在 controller 中 getPara 出来看是不是乱码,追踪整个过程,定位错误就很好解决了。如果 me.setEncoding("utf-8") 的前提下,初步判断是 tomcat 或 jetty 的 get 请求编码不对,url 中传递的参数都是 get 请求


controller里面就是显示的unicode编码  Filter里面是转码了的 @JFinal

0
JFinal
JFinal

引用来自“王仁辉(java)”的评论

引用来自“JFinal”的评论

调试一下,看是在哪里产生的乱码,先在 controller 中 getPara 出来看是不是乱码,追踪整个过程,定位错误就很好解决了。如果 me.setEncoding("utf-8") 的前提下,初步判断是 tomcat 或 jetty 的 get 请求编码不对,url 中传递的参数都是 get 请求


controller里面就是显示的unicode编码  Filter里面是转码了的 @JFinal

request、response 这两个对象在 JFinalFilter 中已经设置过 encoding,不要再次设置,以免误事
0
Dreampie
Dreampie

引用来自“王仁辉(java)”的评论

引用来自“JFinal”的评论

调试一下,看是在哪里产生的乱码,先在 controller 中 getPara 出来看是不是乱码,追踪整个过程,定位错误就很好解决了。如果 me.setEncoding("utf-8") 的前提下,初步判断是 tomcat 或 jetty 的 get 请求编码不对,url 中传递的参数都是 get 请求


controller里面就是显示的unicode编码  Filter里面是转码了的 @JFinal

引用来自“JFinal”的评论

request、response 这两个对象在 JFinalFilter 中已经设置过 encoding,不要再次设置,以免误事
//        request.setCharacterEncoding(AppConstants.DEFAULT_ENCODING);

//        response.setCharacterEncoding(AppConstants.DEFAULT_ENCODING);

//        constants.setEncoding("UTF-8");

所有设置编码的地方都注释掉,任然没有什么改变  @JFinal

JFinal
JFinal
调试跟踪一下 JFinalFilter,然后在里面 request.getParameter(...) 出来看是不是乱码,如果是,则是 tomcat 或 jetty 配置的问题
0
小99
小99
你换tomcat试试,
Dreampie
Dreampie
不爱用tomcat,极度讨厌之 哈哈
0
Dreampie
Dreampie

引用来自“王仁辉(java)”的评论

引用来自“王仁辉(java)”的评论

引用来自“JFinal”的评论

调试一下,看是在哪里产生的乱码,先在 controller 中 getPara 出来看是不是乱码,追踪整个过程,定位错误就很好解决了。如果 me.setEncoding("utf-8") 的前提下,初步判断是 tomcat 或 jetty 的 get 请求编码不对,url 中传递的参数都是 get 请求


controller里面就是显示的unicode编码  Filter里面是转码了的 @JFinal

引用来自“JFinal”的评论

request、response 这两个对象在 JFinalFilter 中已经设置过 encoding,不要再次设置,以免误事
//        request.setCharacterEncoding(AppConstants.DEFAULT_ENCODING);

//        response.setCharacterEncoding(AppConstants.DEFAULT_ENCODING);

//        constants.setEncoding("UTF-8");

所有设置编码的地方都注释掉,任然没有什么改变  @JFinal

filter 貌似没有问题 @JFinal

返回顶部
顶部