2015-12-13 4 views
1

Я пытался сделать эту работу на некоторое время ... сводя меня с ума.django и postgres - поддержка иврит

Когда я пытаюсь отправить запрос POST в приложение django с Иврит текст, он хранит текст на иврите как ???????.

Я думал, что это может быть проблемой в моей Postgres базы данных, но Кодирование UTF-8, а также, когда доступ к записи таблицы вручную, я могу изменить текст на иврите и его штрафом.

Что я делаю неправильно? Как отправить POST-запросы с текстом на иврите и сохранить его успешно в БД?

UPDATE: решаемые

Видимо, моя ошибка была настолько простой и раздражает ...

В приложение для Android, когда вы устанавливаете Params, я сделал это:

se = new StringEntity(obj.toString()); 

Когда я сменил свой код и добавил UTF_8, он решил проблему:

se = new StringEntity(obj.toString(), HTTP.UTF_8); 

Просто нужно добавить UTF_8 Кодировка ..

+0

Возможный дубликат [декодирования и кодирования иврита в Python] (http://stackoverflow.com/questions/29850912/decoding-and-encoding-hebrew-string-in-python) – JMzance

ответ

0

Вы используете python 2 или python 3? В python 2 литеральные строки не являются литералами. Вы должны явно привести их юникода, как это:

u'Stuff' 

Смотрите здесь для более подробной информации Unicode literals that work in python 3 and 2

Вы можете импортировать, что одна функция из питона 3, используя это слишком

http://python-future.org/unicode_literals.html

Это также представляется уместным по вашей проблеме:

decoding and encoding Hebrew string in Python

+0

Я использую python 3.4 –

+1

I будет проверяться, запустив локальный сервер с django (./manage.py runningerver), а затем отправив некоторые примеры сообщений из браузера. Затем вы можете распечатать то, что сразу получает ваше представление Django, когда вы вводите конечную точку django, и посмотрите, есть ли проблема или что-то не так, когда вы положили это в свою базу данных. – JMzance

+0

спасибо! Я думаю, что это помогло .. Теперь, что происходит, я: POST из моего приложения Android для django - он хранит ивритскую строку как ????, НО - я пытался опубликовать сообщение с chrome POSTMAN - и это работает! он хранит строку на иврите. странная вещь, я также проверяю данные прямо перед отправкой ее из приложения - и ее на иврите .. где проблема? –