Кодировки и ALT с TITLOM
Проблема в том, что у картинок есть ALT и TITLE в которых изначально текст в кодировке windows-1251 из базы, который на стр. с кодировкой UTF-8 показывает закарючки.
Как исправить всё это средствами PHP?
Я например знаю, что можно каждый символ в ord и тогда должно быть нормально, но может можно проще?
Так вот мне ALT писать в аски или можно подругому?
Вот и делай перекодирование данных этих клиентов под одну кодировку и отдавай пользователя еще единообразно оформленую (в плане кодировки) страницу. А то будет как у Microsoft на MSDN сайте.
Берем и создаем страницу с фреймами (хотя фреймы зло, но если хочеться юзать, юзай). Это у тебя есть. Каждый фрейм ведет у тебя на какие то внешние (относительно твоего сайта) ресурсы. А теперь берем и изменяем схему: все флеймы ведут на свой сайт на скрипты (к примеру фрейму 1 соответсвует скрипт на сайте frame_1.php). Через GET ты передаешь этому скрипту адрес того сайта, который должен отображаться во фрейме (для первого фрейма адрес, т.е. значение атрибута src, будет frame_1.php?url=http://sate.ru). Скрипт при запуске смотрит значение переменной $_GET['url'] и через функцию file_get_contents() (хотя бы через неё, но можно хоть сокетами), получает содержимое страницы сайта в виде строки и смотрит в HTTP заголовки ответа сервера. Именно там указана кодировка для страницы (а не как в meta теге на странице, как думают многие).
Далее используя эту информацию ты через функцию iconv перекодируешь из заданной кодировке в UTF-8 и в браузер отдаешь именно эти данные.
Если на сайте JavaScript, и CSS, и картинки сделаны относительными ссылками, то для того, что еще не тянуть с внешнего сайта это все дело скорее всего еще придется дописать в отдаваемую страницу тег BASE с указанием сайта с которого ты тянеш инфу. Но это уже детали реализации.
Изложенного алгоритма должно хватить что бы ты смог самостоятельно его воплотить в код при условии: головы на плечах, базовых знаний по HTML+CSS, а так же по любому серверному языку, я использую PHP. Если оными знаниями не обладаешь, то сначала RTFM. После обретения последних вопросов по реализации уже не останется.
Добавьте в корень сайта файл .htaccess с содержимим:
Еще можно задавать в скрипте, который формирует страницы мета-тэг:
>>Как исправить всё это средствами PHP?
iconv()
Я же считаю, что я обяснил всё уж слишком доступно и почему люди не понимаю, что я хочу я не знаю....
Короче попробую ещё раз.
Допустим есть баннерообменная сеть в которой каждый сам задаёт alt для своего баннера и баннеры на других сайтах учасниках лучше выводить через frame (именно поэтому я его юзаю). У меня на сайте и во фрейме получается кодировка windows-1251, а как быть если на сайте учасника UTF-8. Мне нужно или преобразовать всё в аски или подобрать более простой способ (быстрый и менее ресурсопожирающий).
ALT должен быть читабильным как в UTF-8 так и в windows-1251.
Добавьте в корень сайта файл .htaccess с содержимим:
Не подходит. Это имеет смысл только для своего хоста. Для внешних не катит.
Еще можно задавать в скрипте, который формирует страницы мета-тэг:
Тоже мимо, браузеру откровенно ложат на данные описанные в мета теге. Они ориентируются ТОЛЬКО на HTPP header, я это чуть выше уже отметил.
[COLOR="Silver"]*печально посмотрел в сторону NetWork, вздохнул :( *[/COLOR]
Эхе-хех... над этим вот подумай: http://alekciy.ru/temp/mane_page.php
Правда до этого тоже его пробывал и не получалось, оказывается в одном из подключаемых файлов использовалась другая кодировка, что собственно мешало верхнему header.