![]() |
Модераторы: korob2001, ginnie |
![]() ![]() ![]() |
|
sklins |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 27.9.2012 Репутация: нет Всего: нет |
Здравствуйте. Такая проблема у меня.
Дано: база MySQL, кодировка cp1251, на сайте тоже кодировка cp1251. С сайта аяксом отправляется json (как я понимаю, он всегда utf-8), дальше обрабатываю данные с помощью JSON::from_json, далее данные пишутся в базу. В базе получаются кракозябры. Не могу сообразить, в_какую/из_какой кодировки делать encode/decode. Пробывал различные варианты, но не получается. Модуль encode работает только со скалярами, хэш после from_json ему скормить нельзя. Из идей, только делать foreach по получившемуся хэшу, но считаю это костылём. Кодировку базы и сайта менять не могу. Помогите, пожалуйста, правильно решить эту проблему. |
|||
|
||||
Jimy |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 4.7.2010 Репутация: нет Всего: 3 |
После подключения к БД и перед тем местом, где нужно работать с utf-8, выполните sql запрос:
|
|||
|
||||
Bulat |
|
|||
![]() татарский Нео ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 22.3.2006 Где: Альметьевск Репутация: нет Всего: 57 |
Каким методом идет запись в БД??
-------------------- менеджер по кодеврайтингу ![]() |
|||
|
||||
sklins |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 27.9.2012 Репутация: нет Всего: нет |
Jimy, подключается через конструктор (готовая CMS), так что поменять строку подключения не могу.
Bulat, пишу с помощью do из модуля DBI. |
|||
|
||||
Bulat |
|
|||
![]() татарский Нео ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 22.3.2006 Где: Альметьевск Репутация: нет Всего: 57 |
Ну смотри, данные в базу записываются("биндятся") либо в виде скаляров, либо массивом. Хеш ты ему тоже скормить не можешь. Поэтому
вполне нормальное решение. В крайнем случае, перед добавлением строки кода, добавь строчку с комментарием, что-то типа "safe-hack". Не все костыли одинаково вредны. ![]() -------------------- менеджер по кодеврайтингу ![]() |
|||
|
||||
sklins |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 27.9.2012 Репутация: нет Всего: нет |
В конце концов так и сделал)
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Perl: CGI программирование" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: разработка для Web | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |