在给MySQL插入特殊中文字符时出现字符太长
mysql> insert mb_templet(templetName,templetContent,addUser,addDate,re,isDel) values('help','聖誕節——','sed',now(),'就上课的附件',0);
ERROR 1406 : Data too long for column 'TempletContent' at row 1
繁体字都好像不行,还有就是破折号,就是shift+横线也不行,我用的搜狗输入法,都是半角的呀
那到底怎么样才能插入进去,我这里又是什么问题呢?
全角半角是不是就是输入法里面的那个区别呢?

解决方案 »

  1.   

     你看一下,是不是varchar类型的字段!
      

  2.   

    我用的是text类型。。因为是要存储文章
      

  3.   

    text应该是可以的,破折号应该是没问题的。你说的繁体字真还不清楚!
    你也可以试试,utf8建议!
      

  4.   

    额。。谢谢。。我改成utf8的就OK了百无禁忌的插入进去。。嘿嘿。。
    我想插入一个时间戳到数据库,饭后查询出来就改换成时间:
    获取时间戳:time()
    转换成时间:gmdate ( 'Y-m-d H:i', 时间戳);
    但是我刚刚出入的数据,然后我查询却变成01点多。。相差了八个小时。。我想该不会是弄到其他国家的时区了吧
     
      

  5.   


    这个还就是时区的问题。你看看你PHP的设置,时区设置到Asia/Shanghai啊什么的应该就可以了。
      

  6.   

    1、修改php.ini
    打开php.ini文件,找到 date.timezone 那一行,去掉前面的“;” ,修改为你需要的时区,例如:date.timezone = Asia/Shanghai
    2、使用php函数
    如果你使用北京时间,就像这样就可以了。date_default_timezone_set("Asia/Shanghai");
    注:确认修改正确的php.ini文件,通过phpinfo()可以查看php.ini文件所在的路径,修改php.ini文件后重启apache。