zoukankan      html  css  js  c++  java
  • 关于使用Django admin模块插入中文时乱码的处理方法

        django的models在定义时并没有相关参数来约定数据库和表及表中字段的编码规则。

    所以一般情况下,使用manager.py syncdb创建的表均为latin-1编码,这种情况,当你使用admin模块在后台插入
    中文数据时,会出现乱码提示。
     
        网上通常的资料是使用sql语句将相关的需要插入中文的字段改为utf-8编码。
     
       这是一种办法,但是,当字段较多时会比较麻烦。
       (可以用phpmyadmin等图形管理工具)
     
      其实不用这么麻烦。
      出现乱码的根本原因在于,数据库创建表的本身编码不支持utf-8字符,所以从根本上将所有表和字段创建为utf-8编码才是解决方法。
       这个思路一方面期待django 后续ORM模块加入对编码的支持。
     
    还有一个方面是从数据库入手,对于mysql来说,可以在其配置文件中加入
    [mysqld]
    init_connect='SET NAMES utf8'
    来解决.
    经过测试,效果良好。
     
    在以前的mysql中有这个选项。
    default-character-set=utf8
     
    但我在ubuntu 12.04 +mysql5.5的版本中加入此项,会导致mysql无法启动.
     
  • 相关阅读:
    Django之数据库--ORM
    Vue 父子组件
    axios封装
    DRF常用功能
    DRF框架之Serializer序列化器的反序列化操作
    Django、DRF有什么不同
    RESTFUL风格
    判断ViewPager滑动方向
    Incompatible integer to pointer conversion sending 'NSInteger' (aka 'int') to parameter of type 'id'
    AchartEngine使用
  • 原文地址:https://www.cnblogs.com/biangbiang/p/2886524.html
Copyright © 2011-2022 走看看