首先,我对 python 很陌生,所以请原谅我所有的 n00b 东西。所以 Python 中的应用程序逻辑是这样的:
- 我将 SQL Select 发送到数据库,它返回一个数据数组。
- 我需要获取这些数据并在另一个 SQL 插入语句中使用它。
现在的问题是,那个 SQL 查询返回我的 unicode 字符串。select 的输出是这样的:
(u'Abc', u'Lololo', u'Fjordk\xe6r')
所以首先我试图将它转换为字符串,但它失败了,因为第三个元素包含这个德语“ae”字母:
for x in data[0]:
str_data.append(str(x))
我得到: UnicodeEncodeError: 'ascii' codec can't encode character u'\xe6' in position 6: ordinal not in range(128)
我可以直接插入 unicode 以在发生 TypeError 时也插入。TypeError:强制转换为 Unicode:需要字符串或缓冲区,找到 NoneType
有任何想法吗?