Кодировка в ноде при парсинге

Главные вкладки

Аватар пользователя best54 best54 23 февраля 2017 в 16:10

Приветствую!
Не стал заморачиваться и искать как писать модули и т.д. поскольку нужно выполнить лишь простую задачку, но столкнулся со следующим.
Создал ноду, формат текста - PHP-код.
Часть кода:
$data = file_get_html('http://my-shop.ru/shop/products/2581974.html');
$a = $data->find('div.small1');
if (count($a)) {
$glob_string = $a[0];
print ($glob_string . '
');
$proizv_pos = mb_strrpos ( $glob_string , 'производителя: ', 'UTF-8' ) + 27;
echo ($proizv_pos . '
');

В конце использую sql запрос вроде: $sql = "SELECT `entity_id` FROM `field_data_field_article_real` WHERE `field_article_real_value` = " . $my_sh;

Проблема: print ($glob_string . '
');
Выводит вместо русских букв вопросики на чёрном фоне, соответственно $proizv_pos возвращает 27, а не нужную позицию. Пробовал уже и приводить все переменные к UTF-8 и проверять кодировку, пишет, что UTF-8, но выводит всё равно вопросики.

Если этот скрипт сделать отдельным файлом в корневой директории, то работает нормально, но тогда я не могу выполнить sql запрос к базе, выдаёт: Fatal error: Call to undefined function db_query() in /home/host1241929/best54.ru/htdocs/www/parser.php on line 26
Даже если указать, где лежит эта функция, он всяко потом будет ругаться, что нужно логин и пароль к базе, а указывать их будет небезопасно.

В общем как сделать чтобы в ноде при выполнении пхп кода он понимал и мог искать русские буквы?
Или как можно сделать пхп файл, но чтобы он имел доступ к базе (подключить, что-то из ядра используя include)?

Лучший ответ

Комментарии

Аватар пользователя bumble bumble 23 февраля 2017 в 17:02

Причина:

best54 wrote:

Не стал заморачиваться и искать как писать модули и т.д.

Следствие:

best54 wrote:

Выводит вместо русских букв вопросики на чёрном фоне

best54 wrote:

.. как сделать чтобы в ноде при выполнении пхп кода он понимал и мог искать русские буквы?

Он (PHP) - понимает ровно то, что ему "дают".
Работайте общепринятыми методами, учитывая специфику платформы - и будет Вам счастье...

Аватар пользователя best54 best54 23 февраля 2017 в 21:41

ТО есть, хот как придётся потратить несколько дней, чтобы понять как такую простую вещь сделать с помощью методов Drupal? (
Хоть Подпните в нужном направлении.

Аватар пользователя bumble bumble 23 февраля 2017 в 21:45

Любую вещь - можно считать относительно простой, но это не значит что ее нужно делать методами проктологов.

Нужное направление: http://xandeadx.ru/blog/drupal/554
Если еще более "нужное" - писать, таки, свой модуль и в нем организовывать логику.

Аватар пользователя best54 best54 24 февраля 2017 в 14:16

Оказывается так просто сделать модуль. Благодарю, multpix.
Теперь только до ума его довести, чтобы не показывался на всех страницах сайта)))