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

Вопросы по свободной ГИС QGIS. Сообщения об ошибках, предложения по улучшению, локализация.
Ответить
dock
Новоприбывший
Сообщения: 3
Зарегистрирован: 23 ноя 2010, 09:22
Репутация: 0

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

Сообщение dock » 23 ноя 2010, 09:32

Пишу плагин к 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)

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

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

Сообщение Voltron » 23 ноя 2010, 09:59

in4... знаем-знаем. Даже расширение для работы с ними делали.

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

dock
Новоприбывший
Сообщения: 3
Зарегистрирован: 23 ноя 2010, 09:22
Репутация: 0

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

Сообщение dock » 24 ноя 2010, 17:33

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

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

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

Сообщение Voltron » 25 ноя 2010, 22:35

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

dock
Новоприбывший
Сообщения: 3
Зарегистрирован: 23 ноя 2010, 09:22
Репутация: 0

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

Сообщение dock » 26 ноя 2010, 11:01

Спасибо!!! :P Разобралась, может не очень красиво, но работает:

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

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

Ответить

Вернуться в «QGIS»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя