Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.08.2017, 08:55   #1
bush007
Форумчанин
 
Аватар для bush007
 
Регистрация: 10.02.2009
Сообщений: 226
По умолчанию как убрать изменение кодировки переменной в коде

Здравствуйте!
Пробую парсить сайт.

Локально сохранил страницу.

На странице есть вставки типа:
Код:
</td><td>31.07.2017</td><td style="font-weight:normal;font-style:normal;text-decoration:none;">МФ -Русские символы тут</td><td>1464</td><td>1012</td><td>403</td><td>69,13</td><td>27,53</td><td>0,0231</td>
нашел парсинг:
Код:
$doc = new DOMDocument();
@$doc->loadHTMLFile('Страница.htm'); // путь к вашему файлу
#Если не поставить собаку перед вызовом - будет тыщща ошибок
$table = $doc->getElementsByTagName('table');
$data = array();
$i = 1;
foreach($table->item(1)->getElementsByTagName('tr') as $tr){
    foreach($tr->getElementsByTagName('td') as $td){
 $data[$i][] = htmlentities(utf8_decode($td->nodeValue), ENT_QUOTES, 'UTF-8');#--->вот эта строка, что похоже ломает кодировку (((
echo $data[$i][3]; echo '  ';#Число

	echo $data[$i][4]; echo '  ';# Вот тут значение массива с Русскими буквами
echo $data[$i][5]; echo '  ';#Следущее число
$i++;

}
Вывод в браузере :
Код:
31.07.2017 ???¤ - ? ???????????µ ???????????»?? ?????? 1464
Я пробовал менять параметры ENT_QUOTES - но никак не получается.
Подскажите мудрое слово!
следи за собой. Будь осторожен.
Не забывай свой первый "hello world".
bush007 вне форума Ответить с цитированием
Старый 04.08.2017, 09:19   #2
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

ну уберите тогда преобразование из utf8
Цитата:
$data[$i][] = htmlentities($td->nodeValue)
ADSoft вне форума Ответить с цитированием
Старый 04.08.2017, 09:25   #3
bush007
Форумчанин
 
Аватар для bush007
 
Регистрация: 10.02.2009
Сообщений: 226
По умолчанию

убрал...
Код:
31.07.2017 Ð ÑљÐ Â¤ - Ð Â Ð¡Ñ“Ð¡ÐѓÐ¡ÐѓÐ Ñ”Ð Ñ‘Ð Âµ Ð¡ÐѓÐ Ñ‘Ð Ñ˜Ð Ð†Ð Ñ•Ð Â»Ð¡âЂ¹ Ð¡âЂљÐ¡Ñ“Ð¡âЂљ 1464
следи за собой. Будь осторожен.
Не забывай свой первый "hello world".
bush007 вне форума Ответить с цитированием
Старый 04.08.2017, 09:32   #4
bush007
Форумчанин
 
Аватар для bush007
 
Регистрация: 10.02.2009
Сообщений: 226
По умолчанию

Причем = если в латиннице написать (изменить в коде русские символы) - все прекрасно отображается..
следи за собой. Будь осторожен.
Не забывай свой первый "hello world".
bush007 вне форума Ответить с цитированием
Старый 04.08.2017, 09:32   #5
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

и? не нра? это ж коды укв в хтмл ))))
ну хоть немного сообразительности и любознательности то проявите, не ждите что все разжуют
Код:
$data[$i][] =($td->nodeValue)
ADSoft вне форума Ответить с цитированием
Старый 04.08.2017, 09:46   #6
bush007
Форумчанин
 
Аватар для bush007
 
Регистрация: 10.02.2009
Сообщений: 226
По умолчанию

нашел..
1. в коде посмотрел страницы - убрал стиль с описанием шрифта.
2. изменил на
Код:
$data[$i][] = iconv("UTF-8", "CP1251", $td->nodeValue);
Заработало..
странно.. стиль вернул, да собственно обратился уже к удаленой странице - все работает коректно, без кракозябр.

ADSost, у вас сильное колдунство прокачено.. как вы начинаете отвечать - все начинает работать )))))
Спасибо!
следи за собой. Будь осторожен.
Не забывай свой первый "hello world".
bush007 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как убрать глобальные переменные в коде? C++ Финголфин Помощь студентам 3 28.01.2016 12:33
Изменение кодировки combays PHP 2 05.01.2012 11:49
Как вphp коде убрать проверку кода отправки анонимного смс bestful PHP 1 01.07.2010 14:31
Изменение кодировки в c# Andreyka Общие вопросы C/C++ 0 04.06.2010 19:42
Изменение кодировки Ilya9999 PHP 2 27.05.2010 19:59