Create DATABASE shopping2 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; use shopping2; create table font(a varchar(100)); 
这是我的错误 
insert into font values('wom的ena'); 
ERROR 1406 (22001): Data too long for column 'a' at row 1ont values('wom的ena'); 我的jsp 
sql="insert into font values('你是who you are')"; 
if(st.execute(sql)) 
然后从JSp页面返回可以看见中文 while(rs.next()){ 
String content=rs.getString("a"); out.print(content+" <br>"); 
} 你是who you are 
你是who you are 
然而在数据库中查询 
浣犳槸who you are 
浣犳槸who you are 
浣犳槸who you are 
这样的乱码 而且我在数据库中直接插入 
就会报错,什么Data too long for column 错误 
 
 
 

解决方案 »

  1.   

    与你数据库默认编码有关,设置默认编码为utf-8,并且修改ini文件。
      

  2.   


    设置成gb2312吧,我的设置成utf-8好像有问题。
      数据库配置文件my.ini
      中修改默认编码gb2312(此处不能设置称utf-8,我设置称utf8时候不能启动)两处都要修改,然后在管理工具->服务中重新启动mysql
      

  3.   

    连接数据库修改一下url
    jdbc:mysql://127.0.0.1:3306/mytable?useUnicode=true&amp;characterEncoding=GBK
      

  4.   

    你下个mysql的可视化客户端调下编码就行了``
      

  5.   

    改配置文件
    两处都改成utf8
    是utf8不是utf-8
      

  6.   

    改了ini文件中改了utf8.但还是不行,dos下看到的仍然是乱码。
    我用mysql-font工具,一切都用utf-8可以在此工具中正确显示中文,也可以在jsp现实,就是在dos下是乱码。
    我怀疑是不是dos不能显示utf8格式的内容?
      

  7.   

    如果没安装mysql时改配置文件两处都改成utf8 
    如果安装mysql时应该有个修改gbk和utf-8的地方
      

  8.   

    jdbc:mysql://192.168.0.252:3309/wappipgame?useUnicode=true&amp;characterEncoding=GBK试试连数据库的时候写成这样 还有你安装Mysql的时候默认的语言是什么?
      

  9.   

    开始---程序 中找到mysql下面有个配置文件,叫MySQL Server Instance Config Wizard 大概是这样,点next一直到please select the default character set 下面 选中第三个 下拉列表里设置成gbk,utf-8都可以
      

  10.   

    dos下默认使用本地编码(gbk)显示数据, 而数据确实UTF8,
    set names 'gbk';查看就应该是中文了
      

  11.   

    晕了,到底要改GBK还是utf8......一步一步的说的详细一点么?最好从建数据库要怎样做.......等等