Входящие ссылки и их кодировка
Такая штука все покоя не давала - когда заходишь в админ-панель справа есть блок “Входящие ссылки”, так вот в нем у ссылок кодировка была не такая как у блога и как итог - все названия входящих ссылок отображались как кроказябры “Р�нтересный блог” (в оригинале написано “Интересный блог”).
Было решено - непорядок ликвидировать и рецепт огласить.
Все, что приходит из вне, приходит в кодировке UTF-8, т.е. для корректного отображения необходимо конвертировать в правильную utf8. Для этого существует функция iconv
iconv
Функция iconv
— Преобразует строку из одной кодировки в другуюСинтаксис
string iconv (string in_charset, string out_charset, string str)Функция выполняет преобразование строки str из кодировки in_charset в out_charset. Возвращает преобразованную строку или FALSE в случае неудачи.
Пример кода
<?php echo iconv("utf8", "UTF-8", "Тест функции."); ?>
Осталось узнать - куда же это вкрутить?
После просмотра исходников в папке wp-admin отыскался файл index.php, а в нем код отвечающий за вывод в админ-панель обратных ссылок:
<li><a xhref="<?php echo wp_filter_kses($item['link']); ?>”><?php echo wptexturize(wp_specialchars($item['title'])); ?></a></li>
Вот оно место сосредоточения ошибочки: $item['title'].
Теперь для того, чтобы все работало верно, к массиву $item['title'] применяем преобразование кодировок:
$item['title'] = iconv(”utf-8″, “utf8″, $item['title']);
И вставляем этот блок в код вывода входящих ссылок, т.е. заменяем ее на следующую строку или дополняем, кому как удобнее:
<li><a xhref="<?php echo wp_filter_kses($item['link']); ?>”><?php $item['title'] = iconv(”utf-8″, “utf8″, $item['title']); echo wptexturize($item['title']); ?></a></li>
Может это в новых версиях WP и исправлено, но я люблю пофиксить сам
P.S. В начале статьи я говорил об интересном блоге, так вот этот блог и в самом деле очень интересный - советую blog.pmaster.net
>правильную utf8
Имхо правильна как раз таки UTF-8
[quote comment="1030"]>правильную utf8
Имхо правильна как раз таки UTF-8[/quote]
Это кому как нравится, а и в принципе разницы-то сильной нет
UTF-8 по идее задушит остальные кодировки (она для этого вроде и создавалась.)
Не знаю, не знаю. В жизни больше сталкиваться приходится с utf8.
Придется провести анализ и подготовить какие-нибудь материалы.
Идеи надо оплачивать (шучу)
А на беларусский язык другая кодировка ? UTF реально тру особенно там где сайты дву и трёязычные
[quote comment="1038"]А на беларусский язык другая кодировка ? UTF реально тру особенно там где сайты дву и трёязычные[/quote]
Беларусский тоже в UTF-8
Спасибо брат! Блин пол инета облазил за этой функцие.
Ой, да всегда пожалуйста
>> После просмотра исходников в папке wp-admin отыскался файл index.php
В версии WordPress 2.3 этот файл называется index-extra.php
и вместо
Когда была написана сия статья версия была 2.0.7. А сейчас использовать 1251 не самый разумный выбор, а потому и проблема кодировки входящих ссылок - прошлое…
У меня на всей странице
http://gorplan.ru/wp-register.php
кракозябры: Предлагаем комплексную услугу РїРѕ созданию сайта:
и т.д. А вот на всех других страницах всё правильно. Что делать?