【发布时间】:2016-03-19 19:07:04
【问题描述】:
我有点卡在这里。我有这段代码,它将文本中的 html 元素转义并将其编码为 utf8。
import HTMLParser
def clean_text(text):
htmlparser = HTMLParser.HTMLParser()
return htmlparser.unescape(
' '.join(text.replace('\n', '').split())
).replace(';', ',').encode('utf-8').strip()
我正在使用 mysql(上帝保佑我!)
并且此代码在两个项目中运行。在第一个项目中,代码运行良好,没有问题。在另一个项目中,字符串会这样保存:
Die Verbindungen zwischen Dinosauriern und Vögeln immer stärker
应该是
Die Verbindungen zwischen Dinosauriern und Vögeln immer stärker
我在 django 1.7 和 python 2.7.9 两个项目中都使用
我错过了什么? mysql 搭配是utf8_general_ci,聊天集是utf8。两个 mysql 数据库在设置中是相同的。
能解决这个问题真是个奇迹……如果有人能帮我调试这个东西,我会给你一个温暖的拥抱和亲吻
【问题讨论】:
-
您希望
clean_text的输出是unicode还是bytes/str? -
@bgusach 好问题!我认为 :)
-
我认为您应该了解函数的预期输入和输出。我想说如果你想存储在数据库中,你不必处理编码,只需传递 unicode 对象(即不需要
encode)。 -
@bgusach 试过了,结果一样
-
你在哪里以及如何得到意想不到的结果?