PHP + MySQL проблема с кодировками

12
DeL Esprit
На сайте с 27.01.2010
Offline
223
794

То ли я туплю на ночь глядя.. то ли лето и лЫжи не едут.... Помогите..

header("Content-Type: text/html; charset=windows-1251");

+

парсю страницу которая в UTF

+

выдираю нужный мне текст

+

после подключения к базе:

mysql_query("SET NAMES 'cp1251'");

mysql_query("SET CHARACTER SET 'cp1251'");

+

выдраный тест конверчу:

$new_text=iconv("UTF-8", "windows-1251", $old_page[0]);

+

и вношу в базу. (в базе таблица cp1251_general_ci)

и все-равно знаки вопроса в базе....

Брр.рр.р.р что не то сделал? ))))

Тестирую облачный майнинг - узнаем развод или нет. - окупаемость 3 месяца? мелкие суммы (https://goo.gl/aPWmoj) | майнинг Monero, минимум $830 (https://goo.gl/3XivbP) Биржи (ввод/вывод) - на Приват (https://goo.gl/CGZTnD), на Payeer, Capitalist, Advcash, Qiwi... (https://goo.gl/eejAgs)
VHS-1980
На сайте с 21.05.2010
Offline
91
#1

а echo $new_text; что скажет?

Милованов Ю.С
На сайте с 24.01.2008
Offline
196
#2

Сделайте вывод на экран:

echo $old_page[0], '<br><br><br><br><br><br>', $new_text;

в конце кода. И посмтрите, что в нормальной кодировке, а что в кракозябрах.

Подпись))
siv1987
На сайте с 02.04.2009
Offline
427
#3

1) После парсинга

2) После конвертирования

3) Перед занесением

DeL Esprit
На сайте с 27.01.2010
Offline
223
#4

После курла, страница норм выдается

после того как вытяну нужное функцией explode крякозяблы уже (если вывожу эти данные и меняю кодировку в браузере на утф то нормально)

если к вытянутым данным применяю iconv "windows-1251", "UTF-8" - то уже непонятные крякозяблы

gormarket
На сайте с 29.12.2010
Offline
47
#5

DeL Esprit, проверьте правильность порядка параметров функции iconv

string iconv ( string in_charset, string out_charset, string str )

(может действительно спать пора, в первом и пятом постах топика Вы указываете разный порядок)

Товары и цены в магазинах Вашего города: Городской рынок (http://gormarket.ru/)
DeL Esprit
На сайте с 27.01.2010
Offline
223
#6

Вот пример "скрипта"


//skachaka stranici
$ch = curl_init (); // инициализация
curl_setopt ($ch , CURLOPT_URL , "http://narod.yandex.ru/"); // адрес страницы для скачивания
curl_setopt ($ch , CURLOPT_USERAGENT , "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU; rv:1.7.12) Gecko/20050919 Firefox/1.0.7"); // каким браузером будем прикидываться
curl_setopt ($ch , CURLOPT_RETURNTRANSFER , 1 ); // нам нужно вывести загруженную страницу в переменную
$content = curl_exec($ch); // скачиваем страницу
curl_close($ch); // закрываем соединение


$tmp01=explode ('<i class="dot"></i>', $content);
$tmp02=explode ('</li>', $tmp01[1]);

echo $tmp02[0]; // ТУТ ДАННЫЕ В УТФ
$tmp_convert=iconv("UTF-8", "windows-1251", $tmp02[0]);
echo $tmp_convert; // ТУТ ДАННЫЕ В ВИН-1251


после этого конекчусь к базе и сразу же задаю

mysql_query("SET NAMES 'cp1251'");
mysql_query("SET CHARACTER SET 'cp1251'");

и вставляю что данные $tmp02[0] (в УТФ) что данные $tmp_convert(в 1251) - "крякозяблы" в базе...

---------- Добавлено 16.01.2013 в 02:15 ----------

уже пробовал "отвлечься" от этого - поигрался, полазил по нету, с новыми силами взялся - и не понимаю"!!!!!

webrock
На сайте с 05.04.2010
Offline
261
#7

может это апач так косит?

а сам домен в какой кодировке?

Полный аудит сайтов. (/ru/forum/765361)
VHS-1980
На сайте с 21.05.2010
Offline
91
#8

Поле, куда пишете в БД в какой кодировке?

DeL Esprit
На сайте с 27.01.2010
Offline
223
#9
VHS-1980:
Поле, куда пишете в БД в какой кодировке?

cp1251_bin

---------- Добавлено 16.01.2013 в 03:59 ----------

webrock:
может это апач так косит?

а сам домен в какой кодировке?

тот откуда беру УТФ, свой пробовал и так и так уже, но в базу нужно cp1251_bin

VHS-1980
На сайте с 21.05.2010
Offline
91
#10
DeL Esprit:
cp1251_bin

---------- Добавлено 16.01.2013 в 03:59 ----------



тот откуда беру УТФ, свой пробовал и так и так уже, но в базу нужно cp1251_bin

так bin или general_ci ? Или таблица в general_ci, а поле bin?

Попробуйте привести к единому виду, очистить таблицу и заполнить по новой

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий