' ASCII'编解码器不能对字符u' \ u503c'进行编码。

时间:2017-11-03 06:33:05

标签: python-2.7 unicode encoding utf-8

我尝试使用pyratemp模块在文件中替换模板。它与普通的ascii和UTF-8格式文件一起正常工作。但是,我的文件格式是: " UTF-8 Unicode C程序文本,带有CRLF行终止符"

我在sql中有一些变量要替换。因此,我使用pyratemp模块进行处理。

import pyratemp
data_hash = {}
data_hash['tab_name'] = 'svm_table'
sourceFile = "sample.sql"
temp_sql = pyratemp.Template(filename=sourceFile, data=data_hash, encoding='utf-8')

运行脚本:

python template_proc.py
  

追踪(最近一次通话):     文件" template_proc.py",第11行,in       print temp_sql   UnicodeEncodeError:' ascii'编解码器不能对字符u' \ u503c'进行编码。位置196:序数不在范围内(128)

任何人都可以建议我做到这一点的解决方案。

1 个答案:

答案 0 :(得分:1)

我想你使用的是Python2。用Python2读取unicode字符很困难,我建议你试试这个 Report_ID Table_ID Group_ID Item_ID Flag_old Flag_new 0 A 1 1 item1 0 0 1 A 1 1 item2 0 0 2 A 1 1 item3 1 0 3 A 1 1 item4 0 1 4 A 1 2 item1 1 0 5 A 1 2 item2 0 0 6 A 1 2 item3 1 0 7 A 1 2 item4 0 1 8 A 1 3 item1 0 0 9 A 1 3 item2 0 0 10 A 1 3 item3 0 0 11 A 1 3 item4 0 0

有关Python2如何读取UNICODE字符

的更多信息,请参阅Python HowTo