Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 29, 2013 11:01:40

SHPROT
Зарегистрирован: 2012-11-16
Сообщения: 39
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с кодировками

print a.toUtf8 —> <built-in method toUtf8 of QString object at 0x9833e6c>
print a.decode(“unicode_escape”) —> не работет
print repr(a).decode(“unicode_escape”) —> PyQt4.QtCore.QString(u'Заслон')

Офлайн

#2 Янв. 29, 2013 11:06:52

SHPROT
Зарегистрирован: 2012-11-16
Сообщения: 39
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с кодировками

Приплыл епЪ

Теперь не прокатывает запрос к базе

Traceback (most recent call last):
File “test.py”, line 63, in zap1
db.query(“”“SELECT * FROM allbaget WHERE type_station = ‘%s’ OR id_station = ‘%s’;”“” %(ns,num_s))
UnicodeEncodeError: ‘ascii’ codec can't encode characters in position 45-52: ordinal not in range(128)

Офлайн

#3 Янв. 29, 2013 11:07:33

SHPROT
Зарегистрирован: 2012-11-16
Сообщения: 39
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с кодировками

собственно ошибка всё таже висит

Офлайн

#4 Янв. 29, 2013 11:10:58

Luke
От:
Зарегистрирован: 2010-11-29
Сообщения: 30
Репутация: +  3  -
Профиль   Отправить e-mail  

Проблема с кодировками

print a.toUtf8 - скобки забыл в конце - print a.toUtf8()



Офлайн

#5 Янв. 29, 2013 11:15:15

SHPROT
Зарегистрирован: 2012-11-16
Сообщения: 39
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с кодировками

хочу отметить что если везде использую литиницу то ошибок нет, и запросы работают и фильтры.

Офлайн

#6 Янв. 29, 2013 11:19:44

sergeek
Зарегистрирован: 2012-06-26
Сообщения: 470
Репутация: +  43  -
Профиль   Отправить e-mail  

Проблема с кодировками

print a.toUtf8()
сработает, ага

Офлайн

#7 Янв. 29, 2013 11:25:10

SHPROT
Зарегистрирован: 2012-11-16
Сообщения: 39
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с кодировками

Luke
print a.toUtf8 - скобки забыл в конце - print a.toUtf8()
PyQt4.QtCore.QString(u'\u041a\u0440\u0443\u0433\u043e\u0437\u043e\u0440')
Кругозор
работает, но потом всё равно если делать скажем принт или в запросе использовать то выдает ошибку

Traceback (most recent call last):
File “test.py”, line 64, in zap1
db.query(“”“SELECT * FROM allbaget WHERE type_station = ‘%s’ OR id_station = ‘%s’;”“” %(ns,num_s))
UnicodeEncodeError: ‘ascii’ codec can't encode characters in position 45-52: ordinal not in range(128)

Офлайн

#8 Янв. 29, 2013 11:25:10

Luke
От:
Зарегистрирован: 2010-11-29
Сообщения: 30
Репутация: +  3  -
Профиль   Отправить e-mail  

Проблема с кодировками

SHPROT
хочу отметить что если везде использую литиницу то ошибок нет, и запросы работают и фильтры.
Ну так англо-саксы для себя сделали все кодировки одинаковыми до 127 кода.
База в utf-8 ? Тебе надо все привести к одной кодировке и одному типу - проще будет.



Отредактировано Luke (Янв. 29, 2013 11:37:45)

Офлайн

#9 Янв. 29, 2013 11:47:22

SHPROT
Зарегистрирован: 2012-11-16
Сообщения: 39
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с кодировками

Luke
База в utf-8 ? Тебе надо все привести к одной кодировке и одному типу - проще будет.
блин а про это я затрудняюсь ответить, база на mysql , подскажите нубу где это глянуть можно.

Офлайн

#10 Янв. 29, 2013 11:51:55

sergeek
Зарегистрирован: 2012-06-26
Сообщения: 470
Репутация: +  43  -
Профиль   Отправить e-mail  

Проблема с кодировками

ты что туда вставляешь? QString? Снова у юникоде? Из ошибки ведь непонятно

a.toUtf8()
не меняет саму строку
надо
a  = a.toUtf8()
и вообще наверно проще к питоновскому типу привести
a = str(a.toUtf8())

Отредактировано sergeek (Янв. 29, 2013 11:55:41)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version