IPB

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V  1 2 >  
Ответить в эту темуОткрыть новую тему
> Как выводить HTML баннеры в UTF-8 кодировке?, Как на лету сконвертировать win-1251 в UTF-8
CL (Александр)
сообщение 24.10.2008, 2:06
Сообщение #1


Администратор
*****

Группа: Главные администраторы
Сообщений: 2 134
Регистрация: 29.5.2007
Пользователь №: 1



Наши HTML блоки и баннеры сверстаны в кодировке win-1251, для сайтов с кодировкой UTF-8 необходимо добавить в строке вызова js скрипта следующее:
http://banners.all-gsm.ru/utf.php?url=

В HTML блоках 150*300 замените:
src="http://banners.all-gsm.ru/js_banner_all-gsm_150x300.js"
на
src="http://banners.all-gsm.ru/utf.php?url=http://banners.all-gsm.ru/js_banner_all-gsm_150x300.js"

А в HTML блоках 600*120 замените:
src="http://banners.all-gsm.ru/js_banner_all-gsm_600x120.js"
на
src="http://banners.all-gsm.ru/utf.php?url=http://banners.all-gsm.ru/js_banner_all-gsm_600x120.js"

В итоге Вы будете вызывать HTML блок через WIN-1251 -> UTF-8 конвертер.

Конечный результат:

150*300
Код

<script language="JavaScript">
var partid=123456789;
var domain="www.all-gsm.ru";
document.write('<s'+'cript language="JavaScript" src="http://banners.all-gsm.ru/utf.php?url=http://banners.all-gsm.ru/js_banner_all-gsm_150x300.js"></s'+'cript>');
     </script>


600*120
Код

<script language="JavaScript">
var partid=123456789;
var domain="www.all-gsm.ru";
document.write('<s'+'cript language="JavaScript" src="http://banners.all-gsm.ru/utf.php?url=http://banners.all-gsm.ru/js_banner_all-gsm_600x120.js"></s'+'cript>');
     </script>


И не забудьте заменить 123456789 на свой ID, выданный Вам при регистрации.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Urfin Juss
сообщение 31.1.2009, 15:46
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 3
Регистрация: 31.1.2009
Пользователь №: 469



День добрый. Хочу внести предложение.

В связи с тем, что скрипт перекодировки лежит на вашем сервере ощутимы длительные задержки при ожидании результатов работы этого скрипта.
Нельзя ли скрипт перекодировки расположить на локальной машине магазина.

Спасибо.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
CL (Александр)
сообщение 1.2.2009, 5:47
Сообщение #3


Администратор
*****

Группа: Главные администраторы
Сообщений: 2 134
Регистрация: 29.5.2007
Пользователь №: 1



Можно.

http://banners.all-gsm.ru/utf.zip
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Urfin Juss
сообщение 1.2.2009, 14:33
Сообщение #4


Новичок
*

Группа: Пользователи
Сообщений: 3
Регистрация: 31.1.2009
Пользователь №: 469



Цитата(CL (Александр) @ 1.2.2009, 4:47) *


А сылка соотвественно должна выглядеть вот так:

src="http://мой домен/путь к файлу/utf.php?url=http://banners.all-gsm.ru/js_banner_all-gsm_150x300.js"

Правильно?
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
CL (Александр)
сообщение 1.2.2009, 19:52
Сообщение #5


Администратор
*****

Группа: Главные администраторы
Сообщений: 2 134
Регистрация: 29.5.2007
Пользователь №: 1



Цитата(Urfin Juss @ 1.2.2009, 10:33) *

А сылка соотвественно должна выглядеть вот так:

src="http://мой домен/путь к файлу/utf.php?url=http://banners.all-gsm.ru/js_banner_all-gsm_150x300.js"

Правильно?

Да, все верно.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
lexich
сообщение 23.2.2009, 1:52
Сообщение #6


Участник
**

Группа: Пользователи
Сообщений: 15
Регистрация: 11.2.2009
Пользователь №: 487



Цитата(Urfin Juss @ 1.2.2009, 13:33) *

А сылка соотвественно должна выглядеть вот так:

src="http://мой домен/путь к файлу/utf.php?url=http://banners.all-gsm.ru/js_banner_all-gsm_150x300.js"

Правильно?

Только когда я вот так устанавливаю как здесь описано, то банер вовсе не отображается
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
CL (Александр)
сообщение 23.2.2009, 3:43
Сообщение #7


Администратор
*****

Группа: Главные администраторы
Сообщений: 2 134
Регистрация: 29.5.2007
Пользователь №: 1



Цитата(lexich @ 22.2.2009, 21:52) *

Только когда я вот так устанавливаю как здесь описано, то банер вовсе не отображается

Значит у Вас utf.php не работает.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
lexich
сообщение 23.2.2009, 20:28
Сообщение #8


Участник
**

Группа: Пользователи
Сообщений: 15
Регистрация: 11.2.2009
Пользователь №: 487



Цитата(CL (Александр) @ 23.2.2009, 2:43) *

Значит у Вас utf.php не работает.

А что нужно, чтобы он работал? Ведь у меня на сервере PHP нормально работает!
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
CL (Александр)
сообщение 24.2.2009, 4:46
Сообщение #9


Администратор
*****

Группа: Главные администраторы
Сообщений: 2 134
Регистрация: 29.5.2007
Пользователь №: 1



Положите к себе текстовый файл, с любым win-1251 текстом.
Что то вроде test.php
Вызовите из браузера utf.php с сылкой на test.txt
Что нибудь выдаст?
Включите отображение ошибок
ini_set('display_errors',1); error_reporting(E_ALL ^E_NOTICE); error_reporting(E_ALL);
Смотрите что выдаст, исправляйте.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
lexich
сообщение 24.2.2009, 15:09
Сообщение #10


Участник
**

Группа: Пользователи
Сообщений: 15
Регистрация: 11.2.2009
Пользователь №: 487



Цитата(CL (Александр) @ 24.2.2009, 3:46) *

Вызовите из браузера utf.php с сылкой на test.txt

Это как, вот так что-ли http://мой домен/utf.php?test.txt или как то иначе?
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
CL (Александр)
сообщение 26.2.2009, 6:43
Сообщение #11


Администратор
*****

Группа: Главные администраторы
Сообщений: 2 134
Регистрация: 29.5.2007
Пользователь №: 1



Нет, это ссылка это url, с http:// и доменом/
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
lexich
сообщение 26.2.2009, 13:39
Сообщение #12


Участник
**

Группа: Пользователи
Сообщений: 15
Регистрация: 11.2.2009
Пользователь №: 487



Извените конечно за тупизм, но мне совершенно не понятно о чём идёт речь
Цитата
Нет, это ссылка это url, с http:// и доменом/

Нельзя ли внятно написать как понимать это
Цитата
Вызовите из браузера utf.php с сылкой на test.txt
, что и как вызвать, вплодь до примера?!


Единственное что я могу сказать, что если я набираю вот так http://мой домен/utf.php, то выводиться пустая страница, и ошибок ни каких не выдаёт
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
lexich
сообщение 26.2.2009, 15:04
Сообщение #13


Участник
**

Группа: Пользователи
Сообщений: 15
Регистрация: 11.2.2009
Пользователь №: 487



А если я делаю так http://www.мой домен/utf.php?url=http://мой домен/test.txt то тоже пустая страница показывается и в консоли ошибок написано: Предупреждение: Пустая строка не может быть аргументом метода getElementById().
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
CL (Александр)
сообщение 27.2.2009, 2:11
Сообщение #14


Администратор
*****

Группа: Главные администраторы
Сообщений: 2 134
Регистрация: 29.5.2007
Пользователь №: 1



Смотрите...
В utf.php нет ни чего сложного, там обычная функция которая заменяет символы А на B.
Вам необходимо узнать почему не работает скрипт utf.php
1. Удалите строку
ini_set('display_errors',0);
2.Вставьте в самый верх скрипта, сразу после <?php строку
#error_reporting(E_ALL ^E_NOTICE); #error_reporting(E_ALL);
Эта строка включает отображение ошибок и предупреждений.
Затем в скрипте идет функция win2utf.
Вставьте после этой функции (перед ?>) строку
echo win2utf("Привет");
3.Загрузите к себе в корень сайта, и вызовите из браузера.
У Вас должна открытся страница с текстом "Привет".
Если Вы откроете исходый код этой страницы, то увидите что слово привет написано не в win-1251, а в UTF-8 кодировке.
Пример: http://www.all-gsm.ru/scripts/utf.php
Код: http://www.all-gsm.ru/scripts/utf.php.txt

Проделайте следующее и сообщите о результатах.
Потом по шагам расскажу как вставлять Url.


Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
lexich
сообщение 28.2.2009, 12:11
Сообщение #15


Участник
**

Группа: Пользователи
Сообщений: 15
Регистрация: 11.2.2009
Пользователь №: 487



Цитата(CL (Александр) @ 27.2.2009, 1:11) *

Проделайте следующее и сообщите о результатах.
Потом по шагам расскажу как вставлять Url.

Да всё проделал как вы описали и всё отображается правильно, выводится на странице слово Привет
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
CL (Александр)
сообщение 28.2.2009, 23:47
Сообщение #16


Администратор
*****

Группа: Главные администраторы
Сообщений: 2 134
Регистрация: 29.5.2007
Пользователь №: 1



Значит скрипт работает.
Я Вам в пред. посте не правильно написал как включить отображение ошибок.
Замените
Код
error_reporting(E_ALL ^E_NOTICE); #error_reporting(E_ALL);

на
Код
ini_set('display_errors',1); error_reporting(E_ALL ^E_NOTICE); error_reporting(E_ALL);


Теперь удалите строку
Код
echo win2utf("Привет");

и вставьте вместо нее код:
Код
if(!empty($url))
{
$fl = fopen ($url, "r");
if (!empty($fl))
{
   while(!feof($fl))
                      {              
                       $tmp_buffer = fgets($fl);
                        echo win2utf($tmp_buffer);
                      }
  }
  else
  {
  echo "Кривой запрос";
  }
                      
}
else
{
echo "Пустой запрос";
}


Откройте браузер у и проверьте работоспособность скрипта, для этого вызовите скрипт с указанием параметра url, где урл это адрес сайта или файла на сайте, для работы скрипта необходимо указывать протокол http://
Вот пример:
Сам скрипт вызывается от сюда
http://all-gsm.ru/scripts/utf.php
Страница которую хотим переконвертировать:
http://bash.org.ru (в win-1251)

Вызываем скрипт с указанием необходимой страницы.
http://all-gsm.ru/scripts/utf.php?url=http://bash.org.ru
или
http://all-gsm.ru/scripts/utf.php?url=http...h.org.ru/abyss/

Если Вы откроете исходный код страницы, то увидите что вместо win-1251 в странице utf-8

Если Вы видите сраницу баша, теперь можно попробовать переконвертировать наш банер.
Для этого вызовите скрипт с указанием адреса нашего баннера.
http://all-gsm.ru/scripts/utf.php?url=http...-gsm_150x300.js

Если видны баннеры, значит скрипт работает.
Теперь идите на страницу с баннерыми копируйте необходимый код, и заменяйте src на свой.

Пример:
Код
<script language="JavaScript">
          var partid=0;
          var domain="www.all-gsm.ru";
          document.write('<s'+'cript language="JavaScript" src="http://all-gsm.ru/scripts/utf.php?url=http://banners.all-gsm.ru/js_banner_all-gsm_600x120.js"></s'+'cript>');
</script>
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
lexich
сообщение 1.3.2009, 1:11
Сообщение #17


Участник
**

Группа: Пользователи
Сообщений: 15
Регистрация: 11.2.2009
Пользователь №: 487



Всё заменил так как вы описали выше и при наборе в браузере http://мой домен/utf.php выходит пустая страница на которой в верху только одинадцать прямоугольничков и если принудительно перевести браузер в кодировку win-1251 тогда видна фраза - Пустой запрос
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
CL (Александр)
сообщение 1.3.2009, 22:36
Сообщение #18


Администратор
*****

Группа: Главные администраторы
Сообщений: 2 134
Регистрация: 29.5.2007
Пользователь №: 1



Цитата(lexich @ 28.2.2009, 21:11) *

Всё заменил так как вы описали выше и при наборе в браузере http://мой домен/utf.php выходит пустая страница

Я в предыдущем посте привел три примера, но я не писал что utf.php надо вызывать без параметров.

Вызывайте UTF с ссылкой на сайт.

И заодно прочитайте эту тему
http://forum.all-gsm.ru/index.php?showtopic=384
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
lexich
сообщение 2.3.2009, 2:59
Сообщение #19


Участник
**

Группа: Пользователи
Сообщений: 15
Регистрация: 11.2.2009
Пользователь №: 487



Вот какая ошибка выходит на странице при наборе в браузере http://мой домен/utf.php?url=http://bash.org.ru:
Код
Warning: fopen() [function.fopen]: URL file-access is disabled in the server configuration in /home/www/z95585/htdocs/utf.php on line 76

Warning: fopen(http://bash.org.ru) [function.fopen]: failed to open stream: no suitable wrapper could be found in /home/www/z95585/htdocs/utf.php on line 76
Кривой запрос

И фраза Кривой запрос видна только когда браузер принудительно переводишь в кодировку win-1251, если в автоматическом режиме поставить браузер на распознование кодировки то эта фраза не видна, а вместо неё квадратики!
Скрипт в корне сайта utf.php стоит именно такой какой Вы дали по ссылке http://www.all-gsm.ru/scripts/utf.php.txt один в один, только расширение txt убрал.
Мой ID в системе: 6662
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
CL (Александр)
сообщение 2.3.2009, 7:43
Сообщение #20


Администратор
*****

Группа: Главные администраторы
Сообщений: 2 134
Регистрация: 29.5.2007
Пользователь №: 1



Вот эту ошибку покажите хостеру, и попросите что бы включил
allow_url_fopen.
Или попробуйте cоздайть файл php.ini с строкой

allow_url_fopen=On

и положите в папку с utf.php
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

2 страниц V  1 2 >
Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 22.10.2017, 21:17