<link rel="stylesheet" type="text/css" href="http://liushi.hitidea.org/plugins/plogeshi/styles/plogeshi.css">
servlet使用了utf-8的CharacterEncodingFilter对参数统一编码,jsp页面encoding=utf-8(或gb2312也可用,??)。页面href、js中拼接的URL均直接用utf-8编码的汉字作参数。在服务器端通过下述代码获取utf-8编码的汉字字符串。
String para = new String(req.getParameter("paraname").getBytes("iso8859_1"), "utf-8");
这里面有些混乱:主体页面是pageEncoding="UTF-8"的,而后来通过ajax更新的区域是一个pageEncoding="gb2312"的页面(这个设定比较失败,是由于之前的数据编码更换问题引入的,不过却带来了一些比较有意思的现象),而整个servlet request又是被一个utf-8编码的characterEncodingFilter编码过。在服务器端代码又利用String.getBytes()进行编码转换,最终才获得正确的编码。