使用Hibernate向mysql中加入数据(汉字),查询出来的结果都是些看不懂的字(不是乱码,可能也算是汉字吧,不过一个也不认识),应该怎么设置才能解决?

解决方案 »

  1.   

    <property name="connection.url">
    jdbc:mysql://localhost:3306/qbsshopping?useUnicode=true&amp;characterEncoding=UTF-8
    </property>加上这一段,数据库改UTF-8,页面也是..如果以上还不行 就写个过滤器.
      

  2.   

    用mysql进入client console,
    输入show variables like 'character\_set\_%';
    查看字符集是不是UTF8的不是就改。
    将自己的页面,工程,数据库,服务器等等的都统一下编码格式。
    其实为了确保,在加个过滤器。
      

  3.   

    "查询出来的结果都是些看不懂的字"? 是用sql语句查询的还是在jsp中显示的.如果是jsp中显示为乱码: 建议你价格过滤器:public class DoFilter implements Filter 
    { public void destroy() { 
    } public void doFilter(ServletRequest arg0, ServletResponse arg1, 
    FilterChain arg2) throws IOException, ServletException { arg1.setCharacterEncoding("UTF-8"); //和页面的编码一致arg2.doFilter(arg0, arg1); } public void init(FilterConfig arg0) throws ServletException { 
    } } 在web。xml中配置: <!-- 过滤器 --> 
      <filter> 
        <filter-name>encodingFilter </filter-name> 
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter </filter-class> 
        <init-param> 
            <param-name>encoding </param-name> 
            <param-value>UTF-8</param-value> //和页面的编码一致
        </init-param> 
        <init-param> 
            <param-name>forceEncoding </param-name> 
            <param-value>true </param-value> 
        </init-param> 
      </filter> 
      <filter-mapping> 
        <filter-name>encodingFilter </filter-name> 
        <url-pattern>*.jsp </url-pattern> 
      </filter-mapping>  
      <filter-mapping> 
        <filter-name>encodingFilter </filter-name> 
        <url-pattern>*.do </url-pattern> 
      </filter-mapping>