今天在把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。

在次仅作记录。

用python为mysql实现restful接口

最近在做游戏服务分层的时候,一直想把mysql的访问独立成一个单独的服务DBGate,原因如下: 请求收拢到DBGate,可以使DBGate变为无状态的,方便横向扩展 当请...

阅读全文

python常用web框架性能测试(django,flask,bottle,tornado)

测了一下django、flask、bottle、tornado 框架本身最简单的性能。对django的性能完全无语了。 django、flask、bottle 均使用gunicorn+gevent启动...

阅读全文

django1.4在配置上的一些变更

这篇文章写的比较晚,主要也是要真正用起来才会发现,django1.4的这次升级在项目目录结构,配置文件上都有比较多的调整,恰好这次也受这样的困扰,所以就拿出...

阅读全文

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

  1. lyndonjiang说道:

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

    [回复]

    Dante 回复:

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

    [回复]

    lyndonjiang 回复:

    额,和LaTex一样,多谢

    [回复]

    jiaion 回复:

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

    [回复]

发表评论