Блог старого компьютера

Блог старого компьютера


Главная PHP Перекодировать из CP1252 в UTF8

Перекодировать из CP1252 в UTF8

11.02.2014 04:01 Администратор PHP
Печать PDF

Наполняя один прекрасный интернет магазин необходимо вытащить информацию из pdf файла текстовая информация которого была в довольно странной кодировке в cp1252. Все попытки пересохранить ни как не давали результата, была лишь одна мысль установить программу которая будет распознавать символы на pdf картинке, но опять же программу нужно найти устновить, да еще и многие из них платные. Многих это не испугает, но все же распазнование большого колличесвтва pdf страниц это не так быстро, плюсом еще и возможны ошибки расшифровки которые необходимо будет вручную править, так что этот вариант не подходит.

Узнать что за каракули копируются с pdf файла помог декодер лебедева который указал из какой кодировки нужно перекодировать. Далее по скольку мы являемся php программистами то расшифровывать будем с помощью создания своей функции на php. Далее оставалось только к примеру спомощью функции iconv перегнать из одной кодировки в другую.

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

function good_text($p){
$p= mb_convert_encoding($p,mb_detect_encoding($p , "CP1252"), 'UTF8');
$p= mb_convert_encoding($p,'UTF8', "CP1251");
return $p;
}

Добавить комментарий


Защитный код
Обновить

Поиск

Голосование

Что Вы думаете на счет битрикса?
 

Все материалы раздела