向mysql数据库里插入中文后 是 “?”  怎么解决 
谢谢了

解决方案 »

  1.   

    保存的时候转换位iso-8859-1,从数据库取出来的时候转换为你自己的编码new String(str.getBytes("gbk"),"iso-8859-1");
    new String(str.getBytes("iso-8859-1"),"gbk");
      

  2.   

    你得先找到问题的源处才能解决啊。
    测试吧,在servlet里面写System.out.println()来输出变量(“即你接收到从页面输入的数据”).如果接收到的就是乱码那么写一个过滤器(关于过滤器网上很多,可以自己搜搜).
    最简单的是自己写一个servlet类。然后 response.setCharacterEncoding("GBK");这个类里面就要这句话,然后再web.xml里面配置
    <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>这里写你的servlet的全路径,如:com.util.CharacterEncodingAction</servlet-class>
    </servlet>
    然后你再看看接收到的值会不会还是乱码
      

  3.   

    mysql在显示的时候转化,与sqlserver不同
      

  4.   

    保存的时候转换位iso-8859-1,从数据库取出来的时候转换为你自己的编码new String(str.getBytes("gbk"),"iso-8859-1");
    new String(str.getBytes("iso-8859-1"),"gbk");------------------------------------------------------------
    这种方法既烦琐, 也极其混乱...建议统一使用UTF-8编码, 然后JSP容器中使用一个过滤器MySQL数据库编码使用UTF-8较好.
      

  5.   

    不是的,你先要把mysql的编码模式弄清,然后有个问题是从jsp到jsp读取的都是乱码,这个问题你也要解决,不过他们都说过了,我不重复了,呵呵,我以前也遇到过,自己搞定