我设置的mysql字符集为gb2312,在可视化工具下之间输入中文不会出现乱码,但当用insert插入记录时就会出现乱码,我还试过直接插入中文,也会出现同样的问题,哪位大哥帮帮忙,头疼啊......

解决方案 »

  1.   

    你用的是什么可视化工具?EMS SQL Manager 2005 for MySQL?
      

  2.   

    Mysql-front 
    以前我也用过,没出现过这样的问题啊,不知道这次怎么搞的
      

  3.   

    我都用EMS SQL Manager 2005 for MySQL ,在里面可以直接更改mysql的字符集和显示数据的字符集
      

  4.   

    你在连数据库的时候URL应该改下吧
    jdbc:mysql://localhost:3306/Blog(数据库名)?useUnicode=true&characterEncoding=utf8
    要是你MYSQL初始的编码是GB2312的话,那就把UTF8改成GB2312试看看!
      

  5.   

    这样吧 你试试用mysql的dos界面的那个客户端 插入和取出数据看 如果没问题 那就是你的Mysql-front 设置有问题 如果dos界面取出的数据也不能显示中文 那就是你的mysql数据库字符集不是gb2312的
      

  6.   

    ymuddje() 
    useUnicode=true&characterEncoding=utf8这样加在后面对吗?我是用连接池,加到server.xml后tomcat启动不了了,你再看看,是不是有错误
      

  7.   

    MYSQL数据库的字符集用UTF8,表的字符集也用UTF8,就可以了!!
      

  8.   

    也是不行,我也在dos下插入数据,当插入中文时,会有错误出现
    mysql> insert into baseinfo values('啊啊','aa');
    ERROR 1406 (22001): Data too long for column 'title' at row 1.字符集都设置为utf8也是不行
    郁闷啊
      

  9.   

    再补一句
    字段title为varchar类型,长度为50
      

  10.   

    很明显这个是字符集问题,估计你的数据库或者表不是用的gb2312字符集去mysql安装目录下的配置文件里数据集改成gb2312 然后你建立表的时候也要用gb2312
      

  11.   

    怎么改,是my.ini么,但找不到改哪个地方啊,指点一下,呵呵
      

  12.   

    现在又有点进展,我在my.ini中改了默认字符集都为gb2312,从doc下插入数据能在mysql-front下能正确显示中文,但在网页下插入就不行,这也奇了怪了
    doc下的插入语句为:
    insert into baseinfo(title,URL) values('测试','http://www.sendsong.cn');网页下的插入语句为:
    String username="测试";
    String url="www.sendsong.cn";
    String sql="insert into baseinfo(title,URL) values('"+username+"','"+url+"')";
    stmt.executeUpdate(sql);前一种情况能正确显示,后一个情况就不行,也真是奇怪
    对了,我还想知道在doc下怎么取出数据并在doc界面下显示出来,我想试试取出来的结果
      

  13.   

    <%
        request.setCharactorEncoding("gb2312");
        response.setCharactorEncoding("gb2312");
    %>
      

  14.   

    讲点基本概念,具体可能有很多不对的地方,大致意思如此。赫赫
    1。MySQL,DOS窗口,JAVA应用程序,实际上各有各的缺省字符编码设置,比如MySQL是ISO8859,DOS窗口,作为中文Windows的一个应用程序,大概应该是GB2312,而Java应用程序,应该是utf-8(可能)2。所以要想不出乱码,必须把三个冬冬的字符编码设置成一样,对于MySQL来说,数据库和表都设成GB2312的话,从DOS窗口输入的Insert语句就能得到正确执行。同时,再java程序里面也必须明确地把字符串的字符编码设成gb2312,否则就会出来乱码。具体语句请上网搜索一下。
      

  15.   

    页面加上
    <%page language="java" contentType="text/html;charset=gb2312" %>
    <meta http-equiv="Content-Type" content="text/html;charset=gb2312">
      

  16.   

    MySQL Command Line Client中文操作示例 v.0.2
    http://blog.csdn.net/BoXoft/archive/2006/11/05/1368134.aspx
      

  17.   

    http://blog.chinaunix.net/u/19869/showart.php?id=121729
      

  18.   

    问题解决了............
    页面头加
    <%
        request.setCharactorEncoding("gb2312");
        response.setCharactorEncoding("gb2312");
    %>呵呵,谢谢大家
      

  19.   

    可以在执行select/update/insert前STE NAME gbk,执行一下这个语句
      

  20.   

    老问题衍生出新问题?Mysql中文乱码是很古老的问题了
      

  21.   

    解决方法1。你可重装mysql,在安装mysql时选用gbk 2。你可下载个mysqlfront
    在里面把字体设置成gbk既可
      

  22.   

    对于MYSQL另外数据库的URL设置编码为gbk吧,在后面加上&unicode=gbk就可以了