Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 8, 2010 11:24:02

exeplor
От:
Зарегистрирован: 2010-12-03
Сообщения: 27
Репутация: +  0  -
Профиль   Отправить e-mail  

Кириллица в запросе

Python принимает слова на русском языке, если эти слова вывести на экран, получаются каракули, если эти слова записать в базу, получится что то типу: “u043au0438u0440u0438u043bu0438u0446u0430”. База настроена на utf8, проблема в питоне. Буду благодарен за помощь!



Офлайн

#2 Дек. 8, 2010 16:35:57

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Кириллица в запросе

Конечно, проблема в питоне!
А вы что думали - в ваших кривых руках?
Попробуйте скачать питон с правильного, беспроблемного сайта.



Офлайн

#3 Дек. 8, 2010 16:46:56

exeplor
От:
Зарегистрирован: 2010-12-03
Сообщения: 27
Репутация: +  0  -
Профиль   Отправить e-mail  

Кириллица в запросе

Андрей Светлов, меня удивляют ваши ответы. Хорошо, переустановка питона с “беспроблемного сайта” не дала результата. Запись в базу идет точно такая же как и была…



Офлайн

#4 Дек. 8, 2010 16:53:27

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

Кириллица в запросе

какие вопросы - такие и ответы. Да и этот вопрос в Top-тем
http://docs.python.org/howto/unicode.html

Офлайн

#5 Дек. 8, 2010 17:39:54

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Кириллица в запросе

exeplor, меня в свою очередь безмерно удивил вопрос.
Не получается вывести на экран (консоль или GUI?) русский текст (каким образом задан?).
Какая версия Питона?
Где код?
Потому что у меня все работает отлично!

Дальше. Текст некорректно пишется в базу данных.
Какая база? Как пишете? Как поняли, что текст не записался?

А после всего просите о помощи.

Для меня вопрос звучит примерно так: “Я написал программу, а она не работает. Помогите!”



Офлайн

#6 Дек. 8, 2010 21:13:51

exeplor
От:
Зарегистрирован: 2010-12-03
Сообщения: 27
Репутация: +  0  -
Профиль   Отправить e-mail  

Кириллица в запросе

Нашел причину такой безобразной кодировки. Оказывается причина в парсинге текста JSON модулем! Питон принимает значение в формате json, модуль парсит его, но при парсинге кириллицы происходит вот такое.



Офлайн

#7 Дек. 8, 2010 21:21:04

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Кириллица в запросе

Да ну? Отлично все работает. Python 2.6

>>> import json
>>> a = json.dumps({'a': 'русские буквы'})
>>> a
'{"a": "\\u0440\\u0443\\u0441\\u0441\\u043a\\u0438\\u0435 \\u0431\\u0443\\u043a\\u0432\\u044b"}'
>>> b = json.loads(a)
>>> b
{u'a': u'\u0440\u0443\u0441\u0441\u043a\u0438\u0435 \u0431\u0443\u043a\u0432\u044b'}
>>> print b['a']
русские буквы
>>>



Офлайн

#8 Дек. 8, 2010 21:35:14

exeplor
От:
Зарегистрирован: 2010-12-03
Сообщения: 27
Репутация: +  0  -
Профиль   Отправить e-mail  

Кириллица в запросе

Спасибо.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version