Страница 1 из 1

Русские символы в Qgis

Добавлено: 23 ноя 2010, 09:32
dock
Пишу плагин к Qgis на python, который открывал бы текстовый файл с координатами и создавал из них shape. Если при открытии путь к файлу не содержит русских символов все работает отлично, но если русские символы есть, то выводится ошибка:

UnicodeEncodeError: 'ascii' codec can't encode characters in position 7-10: ordinal not in range(128)

Вот кусок кода с открытием файла:

Код: Выделить всё

fileName = QFileDialog.getOpenFileName(None, \
			QString.fromLocal8Bit("Select a file:"),"d:\\pub\\", "*.in4")
if fileName:
    f=open(fileName)

Re: Русские символы в Qgis

Добавлено: 23 ноя 2010, 09:59
Voltron
in4... знаем-знаем. Даже расширение для работы с ними делали.

По вашему вопросу, советую ознакомиться с разделом Unicode filenames документации Python.

Re: Русские символы в Qgis

Добавлено: 24 ноя 2010, 17:33
dock
Voltron писал(а):Даже расширение для работы с ними делали.
И как решали проблему кодировки?
Ссылка знакома, но пока решений никаких.

Re: Русские символы в Qgis

Добавлено: 25 ноя 2010, 22:35
Voltron
Вот еще в тему All About Python and Unicode. Пробовали в open() передавать юникодную строку?
dock писал(а):И как решали проблему кодировки?
У нас такой проблемы не было :-). Как не было кириллических имен файлов и папок на сервере.

Re: Русские символы в Qgis

Добавлено: 26 ноя 2010, 11:01
dock
Спасибо!!! :P Разобралась, может не очень красиво, но работает:

Код: Выделить всё

name=str(fileName.toUtf8()).decode('utf-8')