• Django admin界面 Incorrect string value错误的解决


    在django admin界面添加汉字内容时发现如下错误:
    <SPAN style="FONT-SIZE: 14px">Warning at /admin/flatpages/flatpage/add/
    Incorrect string value: '\xE5\x93\x88\xE5\x93\x88...' for column 'content' at row 1
    Request Method: POST
    Request URL:    http://127.0.0.1:8000/admin/flatpages/flatpage/add/
    Django Version: 1.2.1
    Exception Type: Warning
    Exception Value:    
    Incorrect string value: '\xE5\x93\x88\xE5\x93\x88...' for column 'content' at row 1
    Exception Location: /usr/lib/pymodules/python2.6/MySQLdb/cursors.py in _warning_check, line 82
    Python Executable:  /usr/bin/python
    Python Version: 2.6.6
    </SPAN>

    之前添加英文没有任何问题,查看mysql数据库编码发现是 latin1_swedish_ci。之前是利用phpmyadmin

    解决办法为:在第一次syncdb操作之前,设置所创建数据库编码为 utf8_genenal_ci或utf8_unicode(不知道这二者在处理中文上有什么区别?)。

    在创建数据库时可使用如下命令:

    GBK:CREATEDATABASE tinyCMS DEFAULTCHARACTERSET gbk COLLATE gbk_chinese_ci;

    UTF8:
    CREATEDATABASE tinyCMS DEFAULTCHARACTERSET utf8 COLLATE utf8_general_ci;

    已创建时(但对已存在的表不影响):

    ALTERDATABASE tinyCMS CHARACTERSET utf8 COLLATE utf8_general_ci;

    mysql 创建 数据库时指定编码很重要,很多开发者都使用了默认编码,但是制定数据库的编码可以很大程度上避免倒入导出带来的乱码问题。

    我们应该遵循的标准是:数据库,表,字段和页面或文本的编码要统一起来。

  • 相关阅读:
    京东css三角形做法
    css三角
    java 优势和劣势
    windows常用命令
    25 abstract 抽象
    24static 和final关键字之final
    面试题----static
    定义变量在前和定义变量在后
    java注解
    23static 和final关键词 之static 和运行顺序
  • 原文地址:https://www.cnblogs.com/SophiaTang/p/2272710.html
Copyright © 2020-2023  润新知