Найти - Пользователи
Полная версия: Проблема с кодировками
Начало » Python для новичков » Проблема с кодировками
1 2 3 4
SHPROT
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'Заслон')
SHPROT
Приплыл епЪ

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

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)

SHPROT
собственно ошибка всё таже висит
Luke
print a.toUtf8 - скобки забыл в конце - print a.toUtf8()
SHPROT
хочу отметить что если везде использую литиницу то ошибок нет, и запросы работают и фильтры.
sergeek
print a.toUtf8()
сработает, ага
SHPROT
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)

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

sergeek
ты что туда вставляешь? QString? Снова у юникоде? Из ошибки ведь непонятно
a.toUtf8()
не меняет саму строку
надо
a  = a.toUtf8()
и вообще наверно проще к питоновскому типу привести
a = str(a.toUtf8())
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