python django 中文问题
2011-05-27 15:49
274 查看
之前项目有一个用django开发的简单的admin tool。 现在由于 要加入对中国客户的支持, 所以要有显示与编辑中文。
由于是直接操作数据库, 所以显示没有问题, 但是在编辑的时候, 出现 'ascii' codec can't decode byte 0xe7 in position 20: ordinal not in range(128)的错误。
于是来debug这个问题, django提供了丰富的debug trace。 看到是一个打log的地方出现的问题。
说是在对query_string进行decode的时候出现错误。
开始在网上google, 有的说是用decode("gbk").encode('utf-8'), 发现不管用
为了 先能work, 用了try...catch...的机制, 如果出现错误就不打印log.
下面是慢慢的找原因了。
其中 Python Unicode与中文处理(文摘)
对python的unicode , utf-8及其他讲解的不错。
然后看到说decode 与encode有第二个参数可以对error进行不同的处理。
于是尝试了一下decode("gbk","ignore").encode("ascii","ignore")发现不报错了, 不过具体的query_string就看不到了。
由于 python默认的编码方式是unicode, 所以在处理string(%s)时候会自动的用unicode来decode, 如果我们指定用自然字符
来处理不知道, 可不可以 。
尝试了一下
就可以了。
问题解决。
对python 的编码方式也多了一点了解
由于是直接操作数据库, 所以显示没有问题, 但是在编辑的时候, 出现 'ascii' codec can't decode byte 0xe7 in position 20: ordinal not in range(128)的错误。
于是来debug这个问题, django提供了丰富的debug trace。 看到是一个打log的地方出现的问题。
query_string=meta_get('QUERY_STRING') _log('[%-15s ][%s] %s %s%s' % (domain, account, / meta_get('REQUEST_METHOD'), / meta_get('PATH_INFO'),/ query_string))
说是在对query_string进行decode的时候出现错误。
开始在网上google, 有的说是用decode("gbk").encode('utf-8'), 发现不管用
为了 先能work, 用了try...catch...的机制, 如果出现错误就不打印log.
下面是慢慢的找原因了。
其中 Python Unicode与中文处理(文摘)
对python的unicode , utf-8及其他讲解的不错。
然后看到说decode 与encode有第二个参数可以对error进行不同的处理。
于是尝试了一下decode("gbk","ignore").encode("ascii","ignore")发现不报错了, 不过具体的query_string就看不到了。
由于 python默认的编码方式是unicode, 所以在处理string(%s)时候会自动的用unicode来decode, 如果我们指定用自然字符
来处理不知道, 可不可以 。
尝试了一下
_log('[%-15s ][%s] %s %r%r' % (domain, account, / meta_get('REQUEST_METHOD'), / meta_get('PATH_INFO'),/ query_string))#.decode('gbk','ignore').encode('ascii','ignore')))
就可以了。
问题解决。
对python 的编码方式也多了一点了解
相关文章推荐
- django+httpd+mod_pythonurl存在中文路径问题解决
- Python+django(admin页面下显示中文的问题)
- Openstack数据库中文乱码问题---Django Python SQLAlchemg MySQL
- 妈妈再也不担心我的编码问题了。中文编码融汇贯通,windows,django,python,java,html
- 妈妈再也不担心我的编码问题了。中文编码融汇贯通,windows,django,python,java,html 【转】
- python django MySQLdb 连接 mysql 5.5 中文乱码问题的解决
- python与excel的中文编码问题
- Python3.x在解析含中文的文本文件时的问题
- 【python】中文乱码问题
- Python2 中文unicode乱码问题
- Python爬网页,中文输出乱码问题
- Python中文编码问题
- python 中文乱码 问题深入分析
- JavaScript 解析 Django Python 生成的 datetime 数据 时区问题解决
- 使用django报错问题(python manage.py startapp app-name)
- Python3 sublime3 中文 UnicodeEncodeError 问题
- Python解决中文乱码问题
- Django 模版当中使用中文 UnicodeDecodeError at / 问题
- python--爬虫入门(七)urllib库初体验以及中文编码问题的探讨
- 用sublime text 2 build python 遇到中文的问题