Здравствуйте, столкнулся с проблемой перекодировки из кодировки Друпала utf-8 в win-1251.
Мне нужно перекодировать переменные, например $node->title в win-1251, иначе получаются одни закорючки вместо букв
Пытаюсь использовать функцию inconv
$title1 = iconv("utf-8", "windows-1251", $node->title); - и потом уже работать с этими данными через переменную $title1, но так вообще ничего не получается сделать - программа вообще никак не работает.
Подскажите пожалуйста, как нужно правильно.
Заранее спасибо.
Комментарии
Где закорючки то получаются? насколько я помню все браузеры и почтовые проги адекватно воспринимают кодировку utf-8
мне нужно передать эти переменные методом ПОСТ - вот тут то и получаются закорючки
неужели я бы спрашивал, если бы у меня всё адекватно вопринималось
$title1 = mb_convert_encoding($node->title, "UTF-8", "windows-1251"); - попробовал вот эту перекодировку - тоже ничего не помогает, что ж такое, как эти друпаловские переменные вообще перекодировываются????
Передать куда? на сторонний сайт? в другую функцию? на марс? Где и что не так отображется?
Не играть же всем в угадайку, что куда вы посылаете и для чего. )))
Напишите нормально про проблему, тогда ее возможно легче будет решить.
я передаю данные вот такой функцией
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
где в переменной $data частично используются друпаловские переменные
$data = array( 'title' => $node->title,
'begin_cost' => $node->sell_price,
'cost_type' => 'BYB',
'city_id' => '1',
);
вот таким вот образом - только надеюсь вы меня не будете принимать за хакера, если я использую cURL.
этот скрипт прекрасно работает и всё передаёт как надо, когда я написал его в кодировке CP1251 и сохранил его в корне сайта с расширением .php
но проблема встроить его в Великий и могучий Друпал, когда я написал этот код в хуке hook_insert() - все переменные перекодировываются и получаются одни кракозяблы. Ведь все друпаловские переменные только в кодировке utf8
вот, если знаете как мне перекодировать переменные Друпала - подскажите пожалуйста
ЗЫ кракозяблы получаются именно на том сайте, куда я всё это передаю
или подскажите, как мне из хука запустить на выполнение этот скрипт - но опять же, тут проблема исключительно в переменных - переменные то ведь всё равно нужно получить из Друпала - и в нём то как раз и вся загвоздка
Как вариант попробовать сохранить сторонний скрипт в утф8 затащить его в модуль друпли или просто если уже есть свой модуль заинклудить его в модуле отдать ему данные на обработку в утф8 он их соберет до кучи в единое целое и на выход когда будет отдавать перекодить в cp1251 или win-1251 хотя хз как он себя поведет в таком случае может также и отдаст кракозяблы, а может и нет )).
т.е. сторонний скрипт отрабатывает с данными в кодировке друпала, а вот отдает их предварительно перекодив в ту кодировку в которую надо.
так ведь проблема в том, что модули друпала (файлы с расширением .module) тоже ведь сохранены в кодировке cp1251 (то есть в той же кодировке, что и мой скрипт)
а своего модуля у меня нет, у меня только скрипт - я пытаюсь просто вставить код скрипта в файл .module, ну и понятно скрипт должен использовать друпаловские переменные для работы своей. И у меня нет никакой обработки - мне просто нужно передать друпаловские переменные, пробую их перекодировать перед отправкой, но ничего хорошего не получается
????? они не должны быть в кодировке win-1251 они должны быть сохранены в кодировке UTF-8