Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 20, 2011 19:04:32

rodmanfreeman
От:
Зарегистрирован: 2011-04-20
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблемы с кодировкой в Eric 4

Недавно изучаю Python и pyQt. В качестве среды разработки выбрал Eric 4.
Возникла следующая проблема: после создания формы в pyQt designer, при генерации *.py файла из-под Eric'а, русские символы заменяются на белиберду:

# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'C:\Python27\ ... \TestWin.ui'
#
# Created: Wed Apr 20 18:40:52 2011
# by: PyQt4 UI code generator 4.8.3
#
# WARNING! All changes made in this file will be lost!
...
MainWindow.setWindowTitle(_fromUtf8("Окно"))
...
self.menu.setTitle(QtGui.QApplication.translate("MainWindow", "Файл", None, QtGui.QApplication.UnicodeUTF8))
Соответственно, готовое приложение точно такую же белиберду и отображает вместо, как в данном примере, мени окна “Окно” и пункта меню “Файл”. При предварительном просмотре той же формы средствами pyQt designer или Eric, окно выглядт нормально и все надписи отображаются корректно.

При просмотре *.ui файла в редакторе (Akelpad), он отображается нормально, кодировка - utf-8.:
?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow</class>
...
<property name="windowTitle">
<string notr="true">Окно</string>
</property>
...
<widget class="QMenu" name="menu">
<property name="title">
<string>Файл</string>
</property>
</widget>
...
Никаких особых настроек на эту тему в IDE найти не могу.
Перекодировщик c Лебедевского сайта восстанавливает исходный текст из “битого” и говорит, что он преобразовывал CP1252 &#8594; UTF-8.
Вопросы: как получается, что xml в utf-8, преобразовываясь в скрипт в том же utf-8, теряет символы? Откуда там может взяться виндовая кодировка? И главное: как это исправить? Заранее благодарю за помощь.



Отредактировано (Апрель 20, 2011 19:42:39)

Офлайн

#2 Июнь 8, 2011 16:55:00

Игнат
От:
Зарегистрирован: 2010-10-02
Сообщения: 224
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблемы с кодировкой в Eric 4

помнится, на винде мне приходилось каждый раз вручную пересохранять *.ui в другую кодировку, чтобы получить нормальный *.pyw



Офлайн

#3 Июль 30, 2011 19:03:59

vinger4
От:
Зарегистрирован: 2011-07-30
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблемы с кодировкой в Eric 4

Проблема не решена?
у меня похожая проблема: из-под Eric добавляю в ComboBox список значений на русском языке. В результате в форме выводится белиберда.
Eric4, Ubuntu10, Python2.7, PyQt4.



Офлайн

#4 Июль 30, 2011 19:55:38

vinger4
От:
Зарегистрирован: 2011-07-30
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблемы с кодировкой в Eric 4

У меня проблема решилась следующим образом:
sectList=[unicode(i, ‘cp1251’) for i in sectionsDict.items()]
print(sectList)
main_window.selectSection.addItems(sectList)

при этом print'ом выводится лист в кодировке utf-8.
В общем, не понимаю, что же там происходит…



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version