今天在把django开发的系统从开发环境搬到外网的时候,发现凡是中文写入Mysql的时候,都会报错:

Data truncation: Data truncated for column xxx

网上搜了一下,排除了字段本身长度不够,剩下只能是因为mysql的默认编码不是utf-8导致,于是请教了数据组的同事,有两个命令可以修改Mysql 库或者表的编码:

修改库的编码:

alter database dbname CHARACTER SET = utf8;

修改表的编码:

alter table tablename CONVERT TO CHARACTER SET utf8;

之后一切OK。

在次仅作记录。

暂无相关产品

4则回应给“Django 中 “Data truncated for column xxx” 解决方法”

  1. lyndonjiang说道:

    博主,借你这里问个问题,vim里面
    我想把Ohm替换成 \Omega怎么办?如果用普通的替换命令
    %s/Ohm/\Omega/那么效果是把Ohm替换成Omega,那个斜杠没有替换。
    还有如果我想搜索^,怎么办?如果用/^,那结果只是停在每一行的第一字符。

    [回复]

    Dante 回复:

    呵呵,你说的这几个问题都是转义的问题哦,用\\就可以表示\了,^也是一样,用\^

    [回复]

    lyndonjiang 回复:

    额,和LaTex一样,多谢

    [回复]

    jiaion 回复:

    多加一个转义字符就可以了. 我在写Python ssh工具的时候遇到要使用四个斜杠才能完整的吧参数传递个ssh . 很无语的 嘿嘿

    [回复]

发表评论