python: 批量字符串编码/解码
python: batch string en- / decoding
我有以下问题:
我写了一个 python 脚本,它需要输入参数到 运行... 但是如果参数包括我们的德语 "umlaute" 之一,比如 äüö 或 ß,脚本将停止并显示以下内容错误:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xfc in position
8: ordinal not in range(128)
如果我使用批处理文件启动脚本,"umlaute" 将替换为随机字符,例如 ?,ö 的其他变体....
请帮助我..谢谢:)
部分代码:
...
if batch_exe:
try:
aIndex = sys.argv.index("-a")
buchungsart_regEx = sys.argv[aIndex+1]
except:
buchungsart_regEx = ""
else:
...
select_stmt = select_stmt + " AND REGEXP_LIKE (BUCHUNGSART, " + "'" + buchungsart_regEx + "')"
...
db_list = sde_conn.execute(select_stmt)
...
cmdinput 是这样的:
python C:\...\Script.py -i ..... -a äöüß
您可以尝试在脚本顶部添加编码类型:
# -*- coding: utf-8 -*-
检查这个答案:
你可以用他的sys.argv = win32_unicode_argv()
也许你可以用 utf-8
编码你的 sys.argv
以备将来使用。
我有以下问题:
我写了一个 python 脚本,它需要输入参数到 运行... 但是如果参数包括我们的德语 "umlaute" 之一,比如 äüö 或 ß,脚本将停止并显示以下内容错误:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xfc in position 8: ordinal not in range(128)
如果我使用批处理文件启动脚本,"umlaute" 将替换为随机字符,例如 ?,ö 的其他变体....
请帮助我..谢谢:)
部分代码:
...
if batch_exe:
try:
aIndex = sys.argv.index("-a")
buchungsart_regEx = sys.argv[aIndex+1]
except:
buchungsart_regEx = ""
else:
...
select_stmt = select_stmt + " AND REGEXP_LIKE (BUCHUNGSART, " + "'" + buchungsart_regEx + "')"
...
db_list = sde_conn.execute(select_stmt)
...
cmdinput 是这样的:
python C:\...\Script.py -i ..... -a äöüß
您可以尝试在脚本顶部添加编码类型:
# -*- coding: utf-8 -*-
检查这个答案:
你可以用他的sys.argv = win32_unicode_argv()
也许你可以用 utf-8
编码你的 sys.argv
以备将来使用。