Конвертируем windows-1251 в utf-8 с помощью php
Задача тривиальная до банальности: переконвертировать строку из кодировки windows-1251 в кодировку utf-8. Подобная задача может возникнуть при работе с некоторыми модулями для Joomla. И именно тогда, когда на более глубокое понимание проблемы просто нет времени, ведь цены на компьютеры в Тюмени пока ещё находятся на низких уровнях. Задача перекодировки текста из windows-1251 в utf-8 с помощью php решается примерно так:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | <?php /* *Функция перекодировки windows-1251 -> utf-8 */ows-1251 -> utf-8 */ function win2utf($str) { static $table = array( "\xA8" => "\xD0\x81", "\xB8" => "\xD1\x91", "\xA1" => "\xD0\x8E", "\xA2" => "\xD1\x9E", "\xAA" => "\xD0\x84", "\xAF" => "\xD0\x87", "\xB2" => "\xD0\x86", "\xB3" => "\xD1\x96", "\xBA" => "\xD1\x94", "\xBF" => "\xD1\x97", "\x8C" => "\xD3\x90", "\x8D" => "\xD3\x96", "\x8E" => "\xD2\xAA", "\x8F" => "\xD3\xB2", "\x9C" => "\xD3\x91", "\x9D" => "\xD3\x97", "\x9E" => "\xD2\xAB", "\x9F" => "\xD3\xB3", ); r#[\x80-\xFF]#se', (' ' "$0" >= "\xF0" ' "$0" >= "\xF0" ? "\xD1".chr(ord("$0")-0x70) : ("$0" >= "\xC0" ? "\xD0".chr(ord("$0")-0x30) : (isset($table["$0"]) ? $table["$0"] : "") ) |
А применяется примерно так
1 | echo win2utf('тест в windows-1251'12 |
Пользуйтесь! А после этого можете свою девушку на танец живота отправить. Всё будет веселее, когда вам придется «колдовать с бубном» над очередной проблемой программного характера.
2 коммент. к записи “Конвертируем windows-1251 в utf-8 с помощью php”
Прокомментировать
Рубрики
- 2013
- javascript
- SEO
- Smarty
- UIPI
- Боремся со СПАМом
- Верстка
- Движки форумов
- Железо
- Забавно
- Интернет в лицах
- Интернет-магазины
- Кейсы
- Монетизация
- Новости
- Обзоры сайтов
- Обо всем
- Полезные скрипты
- Работа с CMS
- Создание сайтов
- Уроки рекламы
- Шаблоны
Пригодилось для сапы, спасибо большое
Пользуйтесь на здоровье!