gpt4 book ai didi

python - Django 和 MySql - 编码困难

转载 作者:太空宇宙 更新时间:2023-11-04 06:24:12 25 4
gpt4 key购买 nike

我在处理从 Google 导入的数据(通过 gdata api)的 Django 应用程序时遇到问题。基本上,从 Google 导入的每个文本在我的页面上都显示有编码问题(例如:“Ceará State”显示为“Ceará State”)。

mysql 数据库上的环境设置为 uft-8,所有文本都在我的查询中正确显示,但在我对 Django shell 进行了一些试验后,事情开始变得有点奇怪:

我已经手动更改了其中一个文本,现在它在页面上显示时没有编码问题,但是 shell 回显的文本仍然类似于有编码问题的文本:

>>> v1
<Video: São Paulo is awesome!>
>>> v1.title
u'S\xe3o Paulo is awesome!'
>>> v2
<Video: Ceará State>
>>> v2.title
u'Cear\xc3\xa1 State'

如果我尝试打印文本:

print v1.title
Traceback (most recent call last):
File "<console>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe3' in position 1: ordinal not in range(128)

知道发生了什么以及如何解决它吗?谢谢。

编辑:

我写了一个非常愚蠢的函数来处理我的问题,但没有更好的解决方案:

def normalize(s):
return s.encode('utf-8').replace('á', 'á').replace('ó', 'ó').replace('ç', 'ç').replace('ã', 'ã').replace('Ã', 'í')

EDIT 2:

问题是由未设置为使用 UFT-8 的 Apache 引起的。

最佳答案

如果我对你的理解正确,你在 shell 中打印标题时会出错,所以试试这个

print v1.title.encode('utf-8')

关于python - Django 和 MySql - 编码困难,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9589183/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com