Приятное расширение iconv

Таки удалось прикрутить Еmail постилку к WordPress для товарища. Правда, при єтом пришлось установить плагин(стандартная мыльная приблуда довольно корявая, некоректно вытягивает тему письма) и поковырять ее исходный код в плане кодировок. Поскольку сам блог настроен на UTF-8 то тело письма и тему нужно перекодировать с Windows-1251 в UTF-8. Для этого подходит расширение iconv, которое нужно разрешить при сборке php

./configure –enable-iconv (это не полная строка конфигурации, только фрагмент, остальные параметры указываем как раньше)

потом компилим, устанавливаем и получаем в распоряжении приятную функцию

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

которая исправно перекодирует str из in_charset в out_charset.



Digital Ocean
Провайдер облачного хостинга - заведи свой виртуальный сервер всего за $5 в месяц !

3 Comments

  1. wmas

    Честно говоря, вот проблема: делаю транслятор RSS’ки, понятное дело они все в разных кодировках. Конечный вариант должен быть в Windows-1251. Но проблема в том: как определить кодировку?. Здесь два нюанса. На сколько мне известно стандартной функции нет, у меня есть своя, которая определяет кодировку но приблизительно, срабатывает только с более менее большими текстами и где-то в 80% случаев. Второй нюанс это то, что таким образом нам надо два раза считывать файл: первый раз когда мы собираем текст для определения кодировки, второй когда ведём разборку XML документа.

  2. DenD
  3. DenD

    Если подключить mbstring, то проблема решается просто:
    string mb_detect_encoding ( string str [, mixed encoding_list [, bool strict]] )
    http://www.php.net/manual/ru/function.mb-detect-encoding.php

Leave a Reply