我有以下问题:
我写了一个python脚本,它需要输入参数才能运行...但是如果参数包含我们的德语“umlaute”之一,如äüö或ß,则脚本会因以下错误而停止:
UnicodeDecodeError:'ascii'编解码器无法将字节0xfc解码到位 8:序数不在范围内(128)
如果我用批处理文件启动脚本,那么“umlaute”会被替换为随机字符,例如?,ö......的其他一些变体。
请帮助我.. thx:)
部分代码:
...
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 äöüß
答案 0 :(得分:0)
您可以尝试在脚本顶部添加编码类型:
# -*- coding: utf-8 -*-
答案 1 :(得分:0)
检查此答案:https://stackoverflow.com/a/846931/1686094
您可以使用他的sys.argv = win32_unicode_argv()
然后,您可以使用sys.argv
对utf-8
进行编码以备将来使用。