希望详细点,我JSTL+hibernate+mysql可以,但用了struts不行

解决方案 »

  1.   

    自己写个类继承ActionServlet类,并重写process方法如下:
    public class myActionServlet extends ActionServlet {
    protected void process(HttpServletRequest request,HttpServletResponse response)throws IOException,ServletException
    {
    request.setCharacterEncoding("GB2312");
    super.process(request,response);
    }
    }
    然后在web.xml中
    将action的类指向你自己定义的类myActionServlet连接mysql数据库需要选择编码方式为gb2312
      

  2.   

    中文问题不算问题呀,看看mysql5的手册就明白咋回事了
      

  3.   

    request.setCharacterEncoding("gb2312");
    加上这么一句完事
      

  4.   

    在web.xml文件里面加上如下配置试试
       <!--添加过滤器,解决表单提交时的中文乱码问题-->
        <filter>
            <filter-name>SetCharacterEncoding</filter-name>
            <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
            <init-param>
                <param-name>encoding</param-name>
                <param-value>gb2312</param-value>
            </init-param>
        </filter>    <!-- 要过滤的类型 -->
        <filter-mapping>
            <filter-name>SetCharacterEncoding</filter-name>
            <url-pattern>*.jsp</url-pattern>
        </filter-mapping>
        <filter-mapping>
            <filter-name>SetCharacterEncoding</filter-name>
            <url-pattern>*.do</url-pattern>
        </filter-mapping>
        <filter-mapping>
            <filter-name>SetCharacterEncoding</filter-name>
            <url-pattern>*.htm</url-pattern>
        </filter-mapping>
        <filter-mapping>
            <filter-name>SetCharacterEncoding</filter-name>
            <url-pattern>*.html</url-pattern>
        </filter-mapping>
    在jsp页面加上
    <%@ page language="java" pageEncoding="gb2312" contentType="text/html;charset=gb2312" %>
    就可以解决了。
      

  5.   

    同意 tcmis(难道你忘了吗?)  的解决方案
      

  6.   

    不光要配过滤器,还有个很重要的问题,
    Hibernate设置中文的时候,不能直接name='+userName+';
    应该是name=:userName;
    Queyr.setStrint("userName","%"+userName+"%");怎么写忘了,大概是这个意思!