从表单传过来的数据要经过处理才行,其他的不要改变 
  /**
     * 处理从jsp页面中获取的乱码属性值,将其转换为汉字后再入库。如果是英文,则保持不变。
     * @param str String 乱码字符串
     * @return String 汉字字符串
     */
    public static String toChinese(String str) {
        if (str == null) {
            return str;
        }
        try {
            str = new String(str.getBytes("ISO8859_1"), "gb2312");
        } catch (Exception e) {
            e.printStackTrace();
        }
        return str;
    }

解决方案 »

  1.   

    一、Tomcat本身的Get与Post中文处理方法
    http://www.javaworld.com.tw/jute/post/view?bid=9&id=44042&sty=1&tpg=1&age=01、从webapps\jsp-examples\WEB-INF\classes\下拷贝filters目录到worklist的classes目录下
    2、设置Tomcat的Server.xml配置文件在<Connector中增加URIEncoding="GBK"成如下
        <Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
                   enableLookups="false" redirectPort="8443" acceptCount="100"
                   debug="0" connectionTimeout="20000" 
                   disableUploadTimeout="true"
                   URIEncoding="GBK"/>
    3、在应用程序的配置文件web.xml中<web-app>增加
        <filter>
            <filter-name>Set Character Encoding</filter-name>
            <filter-class>filters.SetCharacterEncodingFilter</filter-class>
            <init-param>
                <param-name>encoding</param-name>
                <param-value>GBK</param-value>
            </init-param>
        </filter>
        
        <filter-mapping>
            <filter-name>Set Character Encoding</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>