我正在使用一个数据库,该数据库中散布着这样的字符:“。我需要从数据库中获取它,将其转换为 UTF-8,然后使用 python 将其导入到另一个数据库中。当打印到 Windows 命令提示符时,这些字符如下所示:\xe2\u20ac\u2122。我尝试过 .decode()、.encode() 和 unicode() 的各种组合来转换数据,但我真的卡住了。
Always decode关于输入,以及encode关于输出。 (对此应该有方便的助记符:也许“当您进入室内时请脱下您的代码[外套]".)
输入解码:您说数据库编码是“UTF_8_bin”。你正在用吗MySQL-Python?如果是这样,那么您可以设置use_unicode
连接到数据库时的选项。然后,所有字符串都会以 Unicode 格式从数据库中获取,因此您不必担心对它们进行解码。
输出编码:您可以找出当前的字符编码(或“代码页“正如他们在 Windows 中所说的那样)chcp
命令。我们假设它是代码页 1252。然后你可以写
print text.encode('windows-1252')
生成可以从 Windows 命令行读取的内容。
如果您使用 MySQL-Python 将字符串写回另一个 MySQL 数据库,则不需要执行任何特殊操作:MySQL-Python 声称“您始终可以编写 Unicode 字符串”(无论您是否指定)use_unicode
当您打开连接时)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)