Волшебный комментарий указан и никак не влияет на результат.
На сколько я понимаю, в интерфейсе инструмента используется стандартная для Windows кодировка cp1251. И я полагал, что получив строку юникод, ArcGIS сам ее приведет к нужной кодировке. Но почему-то он игнорирует тот факт, что строка в юникоде и считает ее строкой байт.
Я пробовал оставить кодировку исходного кода utf-8, а значения для
displayName преобразовывать в правильные байты самостоятельно:
ru = lambda s: s.encode(u'cp1251')
param2 = arcpy.Parameter(
displayName=ru(u'Поле для сортировки объектов'),
name=u'in_field',
datatype=u'Field',
parameterType=u'Required',
direction=u'Input')
И оно даже работает, пока не встречает заглавнуть букву "И", ломаясь с ошибкой:
UnicodeEncodeError: 'charmap' codec can't encode character u'\x98' in position 1: character maps to
Похоже, я в чем-то ошибаюсь, но не могу понять в чем.
P.S. Только сейчас заметил, что разместил тему не в том разделе форума. Если возможно, перенесите в ArcGIS for Desktop.