![]() |
Модераторы: korob2001, ginnie |
![]() ![]() ![]() |
|
mario315 |
|
||||||||
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 24.1.2009 Репутация: нет Всего: нет |
Задача
необходимо брать материал из одной базы данных(DB1) и занести во вторую базу данных(DB2) через html-форму кодировки DB1 - utf8_general_ci DB2 - cp1251_general_ci кодировка страницы формы - cp1251 пробовал так
пробовал
в итоге в BD2 получается что-то вроде
что тут можно сделать |
||||||||
|
|||||||||
krypt3r |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 359 Регистрация: 9.6.2009 Репутация: 2 Всего: 16 |
|
|||
|
||||
mario315 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 24.1.2009 Репутация: нет Всего: нет |
krypt3r, так получаются ????
|
|||
|
||||
shamber |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1422 Регистрация: 5.9.2006 Где: Россия Репутация: 17 Всего: 18 |
mario315, а проверить?
|
|||
|
||||
mario315 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 24.1.2009 Репутация: нет Всего: нет |
shamber, проверил. В базу данных заносится ???
|
|||
|
||||
Vaneska |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 141 Регистрация: 15.3.2005 Где: Москва Репутация: 3 Всего: 4 |
Можно попробовать сделать так:
Т.е. идея в том, чтобы мускул сам перекодировал обе бд в одну кодировку. --------------------
http://isokolov.blogspot.com/ |
|||
|
||||
mario315 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 24.1.2009 Репутация: нет Всего: нет |
Если выводить значения $val1 и $val2 на печать, кодировка 'cp1251';
Если вбивать значения вручную в форму, то тоже с кодировкой все нормально. Путаница происходит при передачи значений из perl-скрипта к форме
, но ума не приложу, что тут может быть не так |
|||
|
||||
LuxInTenebris |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 22.2.2009 Репутация: нет Всего: нет |
При чтении/записи БД через DBI для хранения данных Perl использует свою внутреннюю кодировку (Unicode), независимо от той, что стоит у вас в самой БД. Так что значения $val1 и $val2 после чтения будут именно в ней.
С помощью Encode берёте и кодируете их в кодировку для вашей HTML формы:
И вообще, имхо, для простой отправки данных лучше использовать LWP::UserAgent вместо WWW::Mechanize. Задайте только правильный HTTP метод и имена полей формы. Это сообщение отредактировал(а) LuxInTenebris - 19.1.2010, 19:53 |
|||
|
||||
mario315 |
|
||||
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 24.1.2009 Репутация: нет Всего: нет |
LuxInTenebris,
так вместо букв вылезают вопросы. Я думаю дело не в этом, потому что если сохранять в файл, то кодировка cp1251 Раньше-то, вроде, работало. Я недавно систему переустанавливал вместе со всеми программами. Раньше стоял Perl 5.8...., а теперь Perl 5.10.1. Это не может быть причиной? Добавлено через 6 минут и 59 секунд
|
||||
|
|||||
mario315 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 24.1.2009 Репутация: нет Всего: нет |
пример можно:
так, вроде, работает ![]() Добавлено через 6 минут и 4 секунды LuxInTenebris, спасибо за пинок в нужном направлении ![]() |
|||
|
||||
shamber |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1422 Регистрация: 5.9.2006 Где: Россия Репутация: 17 Всего: 18 |
а еще есть use encoding;
|
|||
|
||||
LuxInTenebris |
|
||||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 22.2.2009 Репутация: нет Всего: нет |
mario315, ваш код
можно легко сократить до одной строки
Это сообщение отредактировал(а) LuxInTenebris - 19.1.2010, 22:40 |
||||
|
|||||
mario315 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 24.1.2009 Репутация: нет Всего: нет |
shamber, попробовал use encoding 'cp1251'; - результат каракули
![]() |
|||
|
||||
mario315 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 24.1.2009 Репутация: нет Всего: нет |
LuxInTenebris, все отлично работает. Спасибо большое.
Это сообщение отредактировал(а) mario315 - 19.1.2010, 23:11 |
|||
|
||||
mario315 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 24.1.2009 Репутация: нет Всего: нет |
А как с помощью LWP отправить файл?
Вот так работает
Это сообщение отредактировал(а) mario315 - 20.1.2010, 21:57 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Perl" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |