Форум сайта python.su
Возникла проблема при переезде сайта на другой хост, на нем стоят Python и Django других версий.
Раньше данные доставались из Базы в utf-8 (база в кодировке utf-8), а теперь данные из Базы приходят в unicode. Можно массив данных, полученных из Базы, разбивать ячейки и каждую из них, по-возможности, переводить в utf-8. Хотелось бы как-то по-проще перевести из unicode в utf-8.
И такая же проблема в получении данных из POST и GET.
Заранее спасибо.
Офлайн
К сожалению, штатные телепаты уже в объятиях Морфея… Пожалуйста, расскажите подробнее.
Офлайн
Хотелось бы как-то быстро перевести результат запроса из Базы из unicode в utf-8 (без прохождения по массиву результатов циклами).
Так же хотелось бы получать переменные из POST и GET в utf-8, а не как сейчас в unicode
Офлайн
Не буду вам отвечать.
Пусть проснуться телепаты и прощупают ваш мозг на тему названия системы управления базой данных и версий всего задействованного ПО.
P.S. Речь скорее всего идёт об sqlite и переходе от питона 2.5 на 2.6… Но буду думать, что я этого не знаю… Злой я. Очень.
Отредактировано (Фев. 16, 2010 00:57:21)
Офлайн
Скажите, пжалста, какая ОС стояла, версия пайтона, название БД, номер паспорта и размер обуви.
Офлайн
На новом хосте: Python 2.6.2, Django 1.1, СУБД PostgreSQL 8.3.3, FreeBSD 7.2
На старом: Python 2.5 (не точно), Django 0.96, postgresql-server-8.1.17_1, FreeBSD 6.3-STABLE
Офлайн
Романннперевод таблицы из уникода в утф8:
Хотелось бы как-то быстро перевести результат запроса из Базы из unicode в utf-8 (без прохождения по массиву результатов циклами).
result = map(lambda row:map(lambda x:x.encode('utf8'),row),table)
Романнна смысл? уникод - это рабочая кодировка питона, а utf-8 для передачи и хранения.
Так же хотелось бы получать переменные из POST и GET в utf-8, а не как сейчас в unicode
Отредактировано (Фев. 16, 2010 15:17:33)
Офлайн
o7412369815963unicode, это не кодировка… Это высокоуровневый объект, представляющий массив символов.
а смысл? уникод - это рабочая кодировка питона, а utf-8 для передачи и хранения.
РоманннКакую либу используете для связи с постгри? Наверняка в документации по ней можно найти, как решить вашу задачу прозрачно.
PostgreSQL
Офлайн
ZZZв питоне все - высокоуровневый объект,o7412369815963unicode, это не кодировка… Это высокоуровневый объект, представляющий массив символов.
а смысл? уникод - это рабочая кодировка питона, а utf-8 для передачи и хранения.
Вопрос про POST и GET вообще не имеет смысла, потому, что нельзя послать в сеть unicode.
Офлайн
ZZZМне приходит строка в unicode и необходимо ее передать в utf-8, пока вижу только вариант перекодировать каждую такую строку. Хотелось бы узнать, нельзя ли как-то проще это сделать, может в настройках прописать как-то, чтобы строка приходила из POST и GET сразу в utf-8 и что-то типа этого.
Вопрос про POST и GET вообще не имеет смысла, потому, что нельзя послать в сеть unicode.
ZZZИспользую psycopg. Эту задачу можно решить вручную, т.е., к примеру, как предложил o7412369815963, хотелось бы так же как и с POST и GET ее решить проще.
Какую либу используете для связи с постгри? Наверняка в документации по ней можно найти, как решить вашу задачу прозрачно.
Офлайн