应该不是mysql的问题
有的时候电脑就是喜欢捉弄人,要有耐心,很多时候restart机器能带来意想不到的效果

解决方案 »

  1.   

    问题可能是出在网页上提交的数据入库前处理这一步骤上,中文一个字符相当于char(2),也就是说数据库字段要设置的足够大,并且入库前的数据要进行trim()处理。如果还是有问题的话,考虑你是否在取得的数据中不小心截取了半个中文字符,如果还是有问题的话,请查看你的IE设置的显示字符集是否为简体中文。
      

  2.   

    我有经过yourname=request.getParameter("username").trim();这一关。
    数据库的字段空间也足够的大,至于说截了半个中文,我想应该没有吧,
      有个说法,说是中文字符集的问题,因为jsp和mysql分别默认用unicode和gb2312内码,所以就有了这个问题了,但我用函数转过了,依然没有效果。

    <%String s="中文"; 
      String a=new String(s.getBytes("ISO8859_1"),"GBK"); 
      out.println(a);%>
      

  3.   

    public String getStr(String str)
    {
    try
    {
    String temp_p=str;
    byte[] temp_t=temp_p.getBytes("GBK");
    String temp=new String(temp_t,"ISO8859_1");
    return temp;
    }
    catch(Exception e)
    {
     
    }
    return "null";
    }
      

  4.   

    今天终于弄清楚mysql的中文的问题。
    其实问题出在mmmysql(JDBC)
    试问一下你们的jdbc是不是mm.mysql-2.0.4-bin.jar
    我现在用的是mm.mysql-2.0.13-bin.jar
    什么都不用改。
    (除了页面以外<%@ page contentType="text/html;charset=gb2312" >)
      

  5.   

    我在中大找到了一个解决方案了,就是
    <%! 
    public String getStr(String str)
    {
      try {
      String temp_p=str;
      byte[] temp_t=temp_p.getBytes("ISO8859-1");
      String temp=new String(temp_t);
      return temp;
      }
      catch(Exception e)
      {return null;}
      }
    %>
    <%String name=getStr(request.getParameter("name").trim()); %>
    //调用getStr函数,可以直接取得中文信息的输入与输出谢谢逸仙