Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Кодировки и ALT с TITLOM

3.0K
25 ноября 2007 года
NetWork
77 / / 10.08.2006
НА страничках с кодировками UTF-8 и WINDOWS-1251 размещен определённый код HTML (фрейм) в котором отображаются баннеры.

Проблема в том, что у картинок есть ALT и TITLE в которых изначально текст в кодировке windows-1251 из базы, который на стр. с кодировкой UTF-8 показывает закарючки.

Как исправить всё это средствами PHP?

Я например знаю, что можно каждый символ в ord и тогда должно быть нормально, но может можно проще?
12
25 ноября 2007 года
alekciy
3.0K / / 13.12.2005
Выводишь на клиент данные в UTF-8, так и выводи их в этой кодировке ВСЕ.
3.0K
25 ноября 2007 года
NetWork
77 / / 10.08.2006
Так клиентов много и у каждого своя кодировка. Ну нужно сделать так, чтобы картинка с alt во фрейме на других сайтов с кодировками windows-1251 и UTF-8 нормально отображался.

Так вот мне ALT писать в аски или можно подругому?
12
25 ноября 2007 года
alekciy
3.0K / / 13.12.2005
Цитата: NetWork
Так клиентов много и у каждого своя кодировка.


Вот и делай перекодирование данных этих клиентов под одну кодировку и отдавай пользователя еще единообразно оформленую (в плане кодировки) страницу. А то будет как у Microsoft на MSDN сайте.

3.0K
25 ноября 2007 года
NetWork
77 / / 10.08.2006
Не очень, я Вас понимаю alekciy. Допустим есть windows-1251 echo "Привет"; в index.php который выводиться через фрейм на сайтах с разными кодировками. Как сделать, чтобы он был читабельный? Кодировки на сайтах менять не могу. Нужно решить всё в index.php и сделать для всех.
12
25 ноября 2007 года
alekciy
3.0K / / 13.12.2005
Цитата: NetWork
Кодировки на сайтах менять не могу.


Берем и создаем страницу с фреймами (хотя фреймы зло, но если хочеться юзать, юзай). Это у тебя есть. Каждый фрейм ведет у тебя на какие то внешние (относительно твоего сайта) ресурсы. А теперь берем и изменяем схему: все флеймы ведут на свой сайт на скрипты (к примеру фрейму 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. После обретения последних вопросов по реализации уже не останется.

251
25 ноября 2007 года
SkyMаn
1.7K / / 31.07.2007
Насколько понял порблему, можно решить также следующим образом.
Добавьте в корень сайта файл .htaccess с содержимим:
Цитата:
AddDefaultCharset utf-8

Еще можно задавать в скрипте, который формирует страницы мета-тэг:

Цитата:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

15
25 ноября 2007 года
shaelf
2.7K / / 04.05.2005
На самом деле мне проблема кажется высасной из пальца или я чего не понимаю. Если у тебя сайт для которго делают рекламу (чтбы разместить её у тебя), то пусть они присылают тебе в нужной для тебя кодировке, если это нужно в первую чередь тебе и ты стаишь систему типа крутилки на сайте, т просто выводи свой контент в той же кодировке.
>>Как исправить всё это средствами PHP?
iconv()
3.0K
25 ноября 2007 года
NetWork
77 / / 10.08.2006
Прошу не торопиться с ответом, а подумать немного над тем, что я написал. Тут люди просто стали такое говорить, что просто жудко.

Я же считаю, что я обяснил всё уж слишком доступно и почему люди не понимаю, что я хочу я не знаю....

Короче попробую ещё раз.

Допустим есть баннерообменная сеть в которой каждый сам задаёт alt для своего баннера и баннеры на других сайтах учасниках лучше выводить через frame (именно поэтому я его юзаю). У меня на сайте и во фрейме получается кодировка windows-1251, а как быть если на сайте учасника UTF-8. Мне нужно или преобразовать всё в аски или подобрать более простой способ (быстрый и менее ресурсопожирающий).

ALT должен быть читабильным как в UTF-8 так и в windows-1251.
12
25 ноября 2007 года
alekciy
3.0K / / 13.12.2005
Цитата: SkyM@n
Насколько понял порблему, можно решить также следующим образом.
Добавьте в корень сайта файл .htaccess с содержимим:


Не подходит. Это имеет смысл только для своего хоста. Для внешних не катит.

Цитата: SkyM@n

Еще можно задавать в скрипте, который формирует страницы мета-тэг:


Тоже мимо, браузеру откровенно ложат на данные описанные в мета теге. Они ориентируются ТОЛЬКО на HTPP header, я это чуть выше уже отметил.

12
25 ноября 2007 года
alekciy
3.0K / / 13.12.2005
Цитата: NetWork
Прошу не торопиться с ответом, а подумать немного над тем, что я написал. Тут люди просто стали такое говорить, что просто жудко.


[COLOR="Silver"]*печально посмотрел в сторону NetWork, вздохнул :( *[/COLOR]
Эхе-хех... над этим вот подумай: http://alekciy.ru/temp/mane_page.php

3.0K
26 ноября 2007 года
NetWork
77 / / 10.08.2006
Я собственно разобрался. обычный header помог.

Правда до этого тоже его пробывал и не получалось, оказывается в одном из подключаемых файлов использовалась другая кодировка, что собственно мешало верхнему header.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог