将Unicode转换为UTF-8 Python

Jon*_*ner 4 python database unicode utf-8

我正在使用一个数据库,其中包含这样的分散字符:â€.我要借此从数据库中,将其转换为UTF-8,然后将其导入到不同的数据库,使用python.打印到Windows命令提示符时,这些字符如下所示:\ xe2\u20ac\u2122.我已经尝试了.decode(),.encode()和unicode()的各种组合来转换数据,但我真的卡住了.

Gar*_*ees 10

始终在输入上解码,并在输出上进行编码.(应该有一个方便的助记符:也许" 当你来到室内时,把你的代码[外套]关闭 ".)

解码输入:你说数据库编码是"UTF_8_bin".你在使用MySQL-Python吗?如果是,则可以use_unicode在连接到数据库时设置该选项.然后,所有字符串都以Unicode格式从数据库中提取,因此您不必担心解码它们.

对输出进行编码:您可以使用该命令查找当前字符编码(或在Windows中称为" 代码页 ")chcp.我们假设它是代码页1252.然后你就可以写了

print text.encode('windows-1252')
Run Code Online (Sandbox Code Playgroud)

生成可以从Windows命令行读取的内容.

如果你使用MySQL-Python将字符串写回另一个MySQL数据库,你不应该做任何特别的事情:MySQL-Python声称"你总能编写Unicode字符串"(无论你是否use_unicode在打开时指定了连接).