环境:jdk1.5+tomcat5
页面采用的是gbk编码
一、tomcat的server.xml未设置编码,birt其他参数均是默认的地址栏传参乱码
二、在地址栏传参的时候,对地址栏编码使用了javascript的encodeURI方法对地址栏进行了编码,encodeURI的编码方式使用的是utf-8编码,所有后台接收到数据的时候使用utf-8解码,java.net.URLDecoder.decode(要解码的文字,"UTF-8");
三、设置tomcat的server.xml未设置编码为gbk后发现乱码
四、不对地址栏编码,在地址栏添加__locale=zh_CN参数,没有发现乱码,可是这样的话每次都要对这些地址加这个参数,可以在web.xml设置默认参数为<context-param><param-name>BIRT_VIEWER_LOCALE</param-name><param-value>zh_CN</param-value></context-param>