подскажите по iconv

123
LEOnidUKG
На сайте с 25.11.2006
Offline
1774
#11

По-моему что-то там не ладное или проблема решается не с того бока.

Определение кодировки в PHP и так кривое, а уж разные куски и такие выкрутасы она будет показывать бред.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
J
На сайте с 08.06.2006
Offline
844
#12
modelist:
joost, в таком случае только если кодировка не utf-8, то надо определять кодировку именно этого текста и конвертировать именно из его кодировки в utf-8.

if (mb_detect_encoding($a->plaintext)!='utf-8')

$a->plaintext = iconv(mb_detect_encoding($a->plaintext),"UTF-8//TRANSLIT//IGNORE",$a->plaintext);

но все что не ютф в БД не пишет

п.с. с указанием списка кодировок аналогично

---------- Добавлено 17.11.2017 в 14:50 ----------

LEOnidUKG:
По-моему что-то там не ладное или проблема решается не с того бока.

Определение кодировки в PHP и так кривое, а уж разные куски и такие выкрутасы она будет показывать бред.

делаю парсинг

http://www.njcar.ru/prices-partners/barnaul/renault/duster/all

LEOnidUKG
На сайте с 25.11.2006
Offline
1774
#13

Ну весь сайт в win1251 в чём проблема то?! Какие там куски не в этой кодировке?

Я же дал вам код, вы сказали с ним всё ок. Тогда в чём проблема то?!

J
На сайте с 08.06.2006
Offline
844
#14

там указано windows-1251

а определяется как ASCII

может в этом проблема?

LEOnidUKG
На сайте с 25.11.2006
Offline
1774
#15
joost:
там указано windows-1251
а определяется как ASCII
может в этом проблема?

Ничего не надо определять или смотреть. Берёте просто мой кусок кода и с ним работаете. Не надо функцию по определению кодировки вставлять вообще.

J
На сайте с 08.06.2006
Offline
844
#16

ок

делаю

$a->plaintext = iconv("windows-1251","UTF-8//TRANSLIT//IGNORE",$a->plaintext);

в БД русские буквы Продажа

---------- Добавлено 17.11.2017 в 14:58 ----------

LEOnidUKG:
Ничего не надо определять или смотреть

парсинг разных сайтов идет

LEOnidUKG
На сайте с 25.11.2006
Offline
1774
#17
ок
делаю
$a->plaintext = iconv("windows-1251","UTF-8//TRANSLIT//IGNORE",$a->plaintext);
в БД русские буквы Продажа

Конкретно этого сайта?

парсинг разных сайтов идет

Так проверяйте по этой строчке на странице:

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />

если нет этой строчки, то проверяйте по хедеру ответа в какой кодировке предоставляются данные.

Но никак не функциями PHP

---------- Добавлено 17.11.2017 в 14:02 ----------

в БД русские буквы Продажа

как вы это смотрите? phpmyadmin последней версии? БД и таблицы точно в utf-8? При подключении к БД случаем кодировка cp1251 не выставлена?

S
На сайте с 30.09.2016
Offline
469
#18

Поразительное упорство - зная, что там не cp1251, пытаться конвертировать из cp1251 🤪

Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
LEOnidUKG
На сайте с 25.11.2006
Offline
1774
#19
Sitealert:
Поразительное упорство - зная, что там не cp1251, пытаться конвертировать из cp1251 🤪

Нет тут проблема, что всё доверилось стандартным функциям, а они в этом деле "неалло".

J
На сайте с 08.06.2006
Offline
844
#20

делаю парсинг

http://www.njcar.ru/prices-partners/barnaul/renault/duster/all

там вин1251

у меня

файл скрипта в ютф

конект с БД mysql_query("SET NAMES 'utf8' ");

поля в таблице и сама таблица utf8_general_ci

в скрипте $a->plaintext = iconv("windows-1251","UTF-8//TRANSLIT//IGNORE",$a->plaintext);

в БД часть текста в крякозябрах, а часть нормально

следовательно - не весь текст страницы вин1251

123

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