我把mysql下的配置文件my.ini中编码格式都改为utf8了。进入dos下。不能插入中文,报错Data too long for column XXX
但是我在UTF-8编码的JSP页面通过程序可以插入中文,然而在Dos下显示的却是乱码。原因处在哪啊?

解决方案 »

  1.   

    你建数据库时,用的是什么编辑格式?在 jsp 插入中文时,我想是因为 转成了 utf8 的字符吧
      

  2.   

    那肯定是因为你那个DOS下的中文编码不是UTF-8的,而且也不认识UTF-8编码的中文。
      

  3.   

    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 错误
      

  4.   

    而且我在数据库中直接插入
    通过哪个 ide 直接插入?
    还是通过 sql 语句?
      

  5.   

    通过dos下的sql语句,在mysql-font工具下一切正常,就是在dos下显示乱码。并且不能插入。