python3 pymysql获取非英语数据

时间:2018-04-24 12:06:52

标签: python mysql unicode encoding utf-8

我使用Python 3.4和pymysql从MySQL加载数据。问题是我无法检索非英语数据。当我运行以下代码时,我得到 UnicodeEncodeError:'ascii'编解码器无法编码位置146-154中的字符:序数不在范围内(128)

# -*- coding: utf-8 -*-
import pymysql

db = pymysql.connect(
        ...
        charset = 'utf8',
        use_unicode = True
)

cur = db.cursor(pymysql.cursors.DictCursor)

cur.execute("""SELECT ...""")

for row in cur:
        print(row['content'])

然后我尝试用PYTHONIOENCODING = utf-8运行脚本并输出 混合输出:

  • 英文字符正常
  • 系列\ ud83d \ udcbb类似的符号(我认为它们是表情符号)
  • 最后是类似æ·³#家æ〜Ž#é£>æ©Ÿå“¥#é¾”(根据MySQL Workbench应该是中文)

请告知如何解决Python编码问题。

0 个答案:

没有答案