看了很多解决办法,也试了,都不行  数据库是mysql

解决方案 »

  1.   

    http://www.javawind.net/5b016f381a690317011a759915990005.jhtml#141
      

  2.   


    自己写一个过滤器: 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> 
      

  3.   

    http://blog.csdn.net/jinchun1234/archive/2009/06/19/4280998.aspx
      

  4.   

    其实干什么都没有用,加了过滤器,编码不统一也是有问题的。
    你最好是统一全部的编码格式,数据库,jsp,servlet,tomcat,以及整个项目的编码格式。都为utf8
      

  5.   

    可以转成中文. 
    String canshu=request.getParameter(new String("zijin").getBytes("ISO-8859-1"),"GBK")); 
    这是处理单个接收的参数比较好。
      

  6.   

    你用的web容器的什么?   tomcat嚒?   如果是猫的话 我有决杀!     保证有用!打开猫的路径  X:\...\Tomcat 6.0\conf   里面有个server.xml 文件   记事本打开大概40多行吧.. <Connector port="8088" protocol="HTTP/1.1" 
                   maxThreads="150" connectionTimeout="20000" 
                   redirectPort="8443" URIEncoding="utf-8"     />加一句就行了~!        过滤器也是一种方法   但是有时候也会有乱码..   过滤器失效的情况下  这个也有用!
      

  7.   


    package com.svse.filter;import java.io.IOException;import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;import org.hibernate.Session;
    import org.hibernate.SessionFactory;import com.svse.util.HibernateSessionFactory;public class CharFilter implements Filter{ public void destroy() {
    // TODO Auto-generated method stub

    } public void doFilter(ServletRequest arg0, ServletResponse arg1,
    FilterChain arg2) throws IOException, ServletException {
    // TODO Auto-generated method stub
    arg1.setCharacterEncoding("UTF-8");

    arg2.doFilter(arg0, arg1);
    } public void init(FilterConfig arg0) throws ServletException {
    // TODO Auto-generated method stub

    }

    }
    web.xml里面的配置
    <filter>
       <filter-name>char</filter-name>
       <filter-class>com.svse.filter.CharFilter</filter-class>
      </filter>
      <filter-mapping>
       <filter-name>char</filter-name>
       <url-pattern>/*</url-pattern>
      </filter-mapping>
      

  8.   

    写一个filter
    或者把所有的编号都设成的UTF-8
    包括数据库的。
      

  9.   

    数据库的编码格式怎么改? 是用mysql的
      

  10.   

    在创建数据库的时候可以选择编码格式, 建议使用UTF-8.
      

  11.   

    转码问题我常常遇到。如果你数据库用的编码格式与语言的编码格式不一致。就会导致乱码。
    你可以在程序里面实现试试这一句看看可以不 String str =new String(str1.getBytes("UTF-8"),"GBK2312");如果实在不行的话,建议间数据库的时候有一个选择编码格式的!你选择一下与你程序编码格式的一种语言就OK!
      

  12.   

    1.確認亂碼來源(在前個頁面中有,在頁面的到servlet傳輸中造成,在數據庫中存儲的就是亂碼)
    2.按病抓藥:在頁面中顯示的是亂碼,要改動<%@ page encoding=""%>的內容
                 傳輸中有亂碼 :request.setCharacterIncoding("");
                            在接收的jsp頁面或servlet中再進行轉換
                                或者寫個過濾器來處理亂碼問題
                 在數據庫中存儲的就是亂碼,懇求你把Mysql安裝根目錄下的my.ini文件里的第二個編碼設置,設置為Utf-8,然後重啟mysql,然後再插入數據,看下存的是否還是亂碼;如果有必要就把第一個編碼設置,設置為gbk(簡體中文的)!
       
      

  13.   

    mySql配置文件只要有包含 设置的字符集的文件 都 设置为gbk或者 utf-8就好了