斑竹!使用您的终极解决中文方法,还是出现乱码

    
zeroonemm
05-08-18 4 357

环境:tomcat 4.1 ,Ecplise
框架:sitemesh+freemarker+webwork
操作系统默认编码:GBK
在网页上显示的中文还是乱码.....

1)开发和编译代码时指定字符集为UTF-8。JBuilder和Eclipse都可以在项目属性中设置。 (我没在项目属性里找到,不过,我自己新建了一个builder,使用javac -encoding utf-8)
2)
使用过滤器,如果所有请求都经过一个Servlet控制分配器,那么使用Servlet的filter执行语句,将所有来自浏览器的请求(request)转换为UTF-8,因为浏览器发过来的请求包根据浏览器所在的操作系统编码,可能是各种形式编码。关键一句:
request.setCharacterEncoding("UTF-8")。
3)在ftl中也声明了charset="UTF-8"
4)所有框架的设置也都设置encoding=UTF-8

banq
2005-08-21 10:09

由于你使用了一些框架,要确保这些框架没有对编码进行内部设置,好的软件是不会这样做的。

mythmoon
2005-09-02 11:38

request.setCharacterEncoding("UTF-8")。HH用@一句不行的,我在Wjive的r候lF一方法可以解Q,繁体ya}!要的,我o各永こ探o你,你更容易看!


自由虫子
2005-09-02 17:27

to mythmoon:
>>我在Wjive的r候lF一方法可以解Q,繁体ya}

这就是被 banq 大哥形象的比喻为 "结扎" 的方法,呵呵。

mythmoon
2005-09-05 10:49

恩!是的!bang 老o了思路,我在JiveY面截取了F!