Найти - Пользователи
Полная версия: Проблемы с кодировкой в Eric 4
Начало » Инструментальные средства разработки » Проблемы с кодировкой в Eric 4
1
rodmanfreeman
Недавно изучаю 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, теряет символы? Откуда там может взяться виндовая кодировка? И главное: как это исправить? Заранее благодарю за помощь.
Игнат
помнится, на винде мне приходилось каждый раз вручную пересохранять *.ui в другую кодировку, чтобы получить нормальный *.pyw
vinger4
Проблема не решена?
у меня похожая проблема: из-под Eric добавляю в ComboBox список значений на русском языке. В результате в форме выводится белиберда.
Eric4, Ubuntu10, Python2.7, PyQt4.
vinger4
У меня проблема решилась следующим образом:
sectList=[unicode(i, ‘cp1251’) for i in sectionsDict.items()]
print(sectList)
main_window.selectSection.addItems(sectList)

при этом print'ом выводится лист в кодировке utf-8.
В общем, не понимаю, что же там происходит…
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB