FreeMarker传中文值乱码问题

李惠民 发布于 2011/05/28 17:11
阅读 4K+
收藏 0

页面本身含中文,显示无误。页面中有几个input输入框,当输入中文,提交时传到action里面的值是乱码。

default_encoding为utf-8,其他地方的设置也都是utf-8。试过改为GBK,依然乱码。

 

还有哪里需要配置,求指点。谢谢诸位大侠

加载中
0
红薯
红薯
这个乱码跟 FreeMarker 本身是无关的,如果表单的 method 是 GET 的话,你需要对参数值进行转码 ISO8859_1 -> UTF8 ,如果是 POST 的话,则需要 request.setCharacterEncoding("UTF-8");
李惠民
李惠民
谢谢红薯大大,很久没来osc了,现在才再次回复。这个问题是做毕设的时候遇到的。你说的确实是对的,只是我理解有错。后来做过试验,提交前在JS里面对参数做URLEncode就可以了。
0
李惠民
李惠民

引用来自“红薯”的答案

这个乱码跟 FreeMarker 本身是无关的,如果表单的 method 是 GET 的话,你需要对参数值进行转码 ISO8859_1 -> UTF8 ,如果是 POST 的话,则需要 request.setCharacterEncoding("UTF-8");
是post,你说的这个之前也试过了,没效果
0
李惠民
李惠民

用${request.getCharacterEncoding()}在页面输出,显示UTF-8,但乱码依旧

0
梁吉超
梁吉超

你可以像spring的org.springframework.web.filter.CharacterEncodingFilter这个类把所有请求转换成utf-8的.

 

0
李惠民
李惠民

引用来自“梁吉超”的答案

你可以像spring的org.springframework.web.filter.CharacterEncodingFilter这个类把所有请求转换成utf-8的.

 

添加这个之后直接挂掉了
0
戒烟
那是你程序别的地方有问题,如果保证数据库正常字符集,过滤器过滤正常,页面和后台代码字符集所有这些都一致,freemarker没理由乱码
0
梁吉超
梁吉超
晕了.那就把流程跟踪一下吧.到底是哪一步出现的乱码
返回顶部
顶部