`
angellin0
  • 浏览: 115785 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Django使用 Mysql数据库查询时乱码解决

 
阅读更多
使用DJANGO+MYSQL开发时,开启django admin, auth, 然后在后台界面添加中文,数据库保存成功,但是在查询时会报错:
TemplateSyntaxError at /admin/auth/group/

Caught DjangoUnicodeDecodeError while rendering: 'ascii' codec can't decode byte 0xe6 in position 
0: ordinal not in range(128). You passed in <Group: [Bad Unicode data]> (<class 'django.contrib.auth
.models.Group'>)

Request Method: 	GET
Request URL: 	http://127.0.0.1:8000/admin/auth/group/
Django Version: 	1.3
Exception Type: 	TemplateSyntaxError
Exception Value: 	

Caught DjangoUnicodeDecodeError while rendering: 'ascii' codec can't decode byte 0xe6 in position 0: 
ordinal not in range(128). You passed in <Group: [Bad Unicode data]> (<class 'django.contrib.
auth.models.Group'>)

Exception Location: 	D:\opt\Python27\lib\site-packages\django\utils\encoding.py in force_unicode, line 93
Python Executable: 	D:\opt\Python27\python.exe
Python Version: 	2.7.2
..................

使用的是django自带的模块,应该不会有问题。而且同样的代码在Sqlite3下运行正常,就此判断可以得出应该是Mysql的编码问题。
       在创建数据的时候的编码是utf-8的,数据库校对规则为utf8_bin,改成utf8_generial_ci后就正常了。

附:
引用

校对规则一般有这些特征:

·         两个不同的字符集不能有相同的校对规则。

·         每个字符集有一个默认校对规则。例如,latin1默认校对规则是latin1_swedish_ci。

·         存在校对规则命名约定:它们以其相关的字符集名开始,通常包括一个语言名,并且以_ci(大小写不敏感)、_cs(大小写敏感)或_bin(二元)结束。


引用

ci是 case insensitive, 即 "大小写不敏感", a 和 A 会在字符判断中会被当做一样的;

bin 是二进制, a 和 A 会别区别对待.

例如你运行:

SELECT * FROM table WHERE txt = 'a'

那么在utf8_bin中你就找不到 txt = 'A' 的那一行, 而 utf8_general_ci 则可以.
0
1
分享到:
评论

相关推荐

    django项目运行因中文而乱码报错的几种情况解决

    在使用Django开发Web应用程序的过程中,遇到中文乱码问题是很常见的困扰。本文将详细解析Django项目中因中文导致的乱码报错的几种常见情况及其解决方案。 1. **代码中的中文注释问题** 当Python源代码(.py文件)...

    解决django后台管理界面添加中文内容乱码问题

    在MySQL数据库中,可以通过执行特定的SQL语句来创建使用utf8字符集的数据库,例如:`CREATE DATABASE db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;`。这里`DEFAULT CHARACTER SET utf8`指定了...

    解决django 向mysql中写入中文字符出错的问题

    这个问题通常是由于字符编码不匹配导致的,特别是当MySQL数据库的字符集不支持UTF-8时,会出现乱码或者写入失败的错误。本文将详细阐述解决这个问题的步骤。 首先,确保MySQL服务器配置支持UTF-8字符集。在Ubuntu...

    python django 增删改查操作 数据库Mysql

    下面介绍一下django增删改查操作: 1、view.py # -*- coding: utf-8 -*- from __future__ import unicode_literals ...# 解决乱码 import sys reload(sys) sys.setdefaultencoding('utf-8') # 数据库操作 def te

    Ubuntu下MySQL中文乱码的问题解决

    最近一段时间学习Django,在进行与MySQL数据联合使用的插入数据的时候遇到下边的问题: /usr/local/lib/python2.7/dist-packages/Django-1.11.dev20170117002028-py2.7.egg/django/db/backends/mysql/base.py:109: ...

    mysql查看编码类型[文].pdf

    例如,如果你在Django中遇到乱码,你可能需要在数据库配置中指定`charset='utf8'`,并在读取文件或处理数据时使用适当的编码,如`open('filename', encoding='utf-8')`。在导出数据时,确保使用`utf-8`编码写入文件...

    gae-django-cms-encry:使gae-django-cms中的网页中浏览器中显示正常,查看源代码时乱码

    在GAE上运行Django-CMS时,可能会遇到字符编码问题,导致网页在浏览器中显示正常,但查看源代码时出现乱码。这个问题通常与字符集设置、响应头或者模板渲染有关。 首先,我们需要理解字符编码的基础知识。在Web开发...

    电商购物商城开发文档以及前端资料

    本项目使用了Python的Django框架进行后端开发,配合MySQL数据库存储数据,并包含了前端资源,同时关注了图形验证码的生成和响应编码问题。以下是对这些关键知识点的详细说明: 1. Django框架:Django是一个高级的...

    accp5.0毕业设计人力资源系统HR

    1. **数据库设计**:使用MySQL数据库,可能包括员工表、部门表、职位表、工资表、考勤记录等,需要设计合理的数据模型以支持高效查询和更新。 2. **前后端分离**:前端可能使用HTML、CSS和JavaScript实现用户界面,...

    一款垃圾邮件智能处理系统1

    MySQL数据库(5.x或8.x)需要设置为utf8mb4编码,以处理中文文本。在PyCharm中调试时,务必选择正确的运行路径,并确保所有代码文件编码为UTF-8,避免中文处理时出现乱码问题。 系统架构方面,采用了Django的MVT...

    原生双端影视详细视频搭建教程(已去除验证码注册功能)

    在搭建过程中,这将指导用户如何配置服务器环境,安装必要的软件,比如Web服务器(如Nginx或Apache)、后端框架(如Node.js、Django或Flask)、数据库管理系统(如MySQL、PostgreSQL或MongoDB)等。 "前端"目录可能...

    Python3源码商城程序

    3. 数据库操作:商城程序需要对商品、用户信息等进行持久化存储,因此需要了解数据库操作,尤其是关系型数据库如MySQL或非关系型数据库如MongoDB。 4. 前端开发:商城的用户界面需要使用HTML、CSS和JavaScript等...

    杀人online网站源码

    这需要数据库支持,可能是关系型数据库如MySQL、PostgreSQL,或者是非关系型数据库如MongoDB。数据库设计需要考虑数据模型,如何高效地存储和检索数据,以及安全性问题。 4. **前端设计**:前端设计包括用户体验、...

    网站开发综合项目专题计划书.docx

    5. **数据库设计**:根据项目需求选择合适的数据库类型,如关系型数据库MySQL或非关系型数据库MongoDB,并进行数据模型设计。 6. **测试与调试**:在开发过程中和完成后,需要进行单元测试、集成测试和系统测试,以...

    朋友圈转发截图生成工具源码.zip

    在解压和查看源码时,确保使用正确的字符编码,例如UTF-8,以避免出现乱码情况。 开发这样的工具,开发者需要具备以下技能: 1. 熟练掌握前端开发语言(HTML、CSS、JavaScript)和库/框架(如React、Vue或Angular)...

    聊天小程序

    文件名"Char"可能指的是字符编码或者字符集,这是编程中非常基础但至关重要的概念,尤其是处理多语言聊天时,正确设置字符编码(如UTF-8)至关重要,以免出现乱码问题。 总之,聊天小程序是一个综合性的项目,涵盖...

    国阳企业网站策划方案.docx

    2. **技术选型**:选择合适的网站开发语言(如HTML、CSS、JavaScript、PHP、Python等)、数据库系统(如MySQL、MongoDB等)、前端框架(如React、Vue.js、Angular等)和后端框架(如Django、Express、Laravel等)。...

Global site tag (gtag.js) - Google Analytics