Pager Tag Library中文乱码

凌琦
2023-12-01

昨天在做Pager Tag Library分页时碰到了乱码.
本人
jsp utf-8
java utf-8
mystl utf-8
spring2已经过滤所有的为utf-8
在后台做页面分析以后,发现原来Pager Tag Library默认编码是iso-8859-1
于是打开了Pager Tag Library的源码包,照网上改了一下com.jsptags.navigation.pager.PagerTag
将其中的一段改为如下了:(注:csdn上已经有改好的包了.大家可以下载.)

final void addParam(String name, String value) {
        if (value != null) {
            // name = java.net.URLEncoder.encode(name,"utf-8");
            // value = java.net.URLEncoder.encode(value,"utf-8");

            uri.append(params == 0 ? '?' : '&').append(name).append('=')
                    .append(value);

            params++;
        } else {
            String[] values = pageContext.getRequest().getParameterValues(name);

            if (values != null) {
                // name = java.net.URLEncoder.encode(name,"utf-8");
                for (int i = 0, l = values.length; i < l; i++) {
                    // value = java.net.URLEncoder.encode(values[i],"utf-8");
                    uri.append(params == 0 ? '?' : '&').append(name)
                            .append('=').append(values[i]);
                    params++;
                }
            }
        }
    }
 


重新打包好以后,发现java里sql没有乱码了,mysql里出现了乱码.
jdbc:mysql://xxx.xxx.xxx.xxx3306/webManageSystem?characterEncoding=utf-8
修改连接url以后,正常.

 类似资料: