python -- Django 乱码问题解决方案


乱码问题

1,插入数据库乱码,文件前加入

import sys 
reload(sys) 
sys.setdefaultencoding('utf8') 

同时保证数据库接口是utf8的

mysql> alter database databasename default character set  utf8 collate utf8_general_ci;
mysql>alter table tablename default character set  utf8 collate utf8_general_ci;

当然有时候也要用

mysql>set names 'utf8'

对于已经建好的表用

alter table tablename convert to character set utf8 

否则会出现类似

Incorrect string value: '\xE6\x9B\xB9\xE5\x86\xAC...' for column 'realname' at row 1 的问题



2,显示乱码,在文件前加入

#coding=utf-8

或者 

# -*- coding: utf-8 -*-

如果插入数据库会出现类似

"UnicodeDecodeError: 'ascii' codec can't decode byte  in position : ordinal not in range(128)"

的错误


你可能感兴趣的:(Python,MySQL)