Как прописать кодировку в Ява-скрипте

Vestalka
На сайте с 24.07.2007
Offline
74
5003

Есть скрипты плана

<script LANGUAGE="javascript" src="http://www.xxx.ru/informer.js"></script>

которые транслируют мои анонсы у партнеров.

Отображалось всегда нормально.

Появился сайт, у которого кодировка utf-8 - отображается кривопись.

Где нужно прописать кодировку, в коде или где-то скрипте. И каким образом? Как не пыталась, не получается.

если кто знает, подскажите плиз.

tommy-gung
На сайте с 22.11.2006
Offline
304
#1

Vestalka, делайте несколько информеров в разных кодировках

Здесь не могла быть ваша реклама
СКОРПИОН
На сайте с 05.01.2006
Offline
120
#2
Vestalka:
Есть скрипты плана
<script LANGUAGE="javascript" src="http://www.xxx.ru/informer.js"></script>

Если сайт на PHP, то рекомендую сделать так:

1. В скрипт вызова информера добавить параметр:


<script type="text/javascript" src="http://www.xxx.ru/informer.js?code=utf-8">

2. В скрипт, генерирующий текст для информера:

а) В начало кода:


$cset = isset($_GET['code'])?substr($_GET['code'], 0, 5):'';

б) Перед выводом данных, учитывая, что текст, подготовленный для вывода, находится в переменной $__inf:


if($cset && $cset=='utf-8')
$__inf = iconv('CP1251', 'UTF-8', $__inf);

Это то, что можно сделать с минимальными затратами за минимальное время.

• Контекстные ссылки с внутренних страниц навсегда (/ru/forum/370882) • Качественные сайты для заработка на контекстной рекламе и ссылках
Kolyaj
На сайте с 28.03.2006
Offline
69
#3

Вообще говоря, хватило бы корректных заголовков, типа

header('Content-type: text/javascript; charset=windows-1251');
если бы не всемилюбимыйбраузер, который отказывается отображать на странице данные, пришедшие в разных кодировках (по крайней мере IE6). Поэтому или так, как предложил СКОРПИОН, тогда придется делать разные коды вызова информеров для разных кодировок, и грузить пользователя лишними проблемами. Или освободить код информера от кириллицы, записав ее цифрами с последующим преобразованием в текст средствами JavaScript ;). К примеру текст "Привет, Мир!" будет выглядеть
String.fromCharCode(1055,1088,1080,1074,1077,1090,44,32,1052,1080,1088,33)
и уже не важно, какая кодировка у клиента.

Если интересно, опишу поподробнее.

E
На сайте с 14.09.2007
Offline
24
#4

Если нет возможности сделать, как советуют СКОРПИОН, Kolyaj, попробуйте добавить соответствующий атрибут charset в тег script:

<script LANGUAGE="javascript" src="http://www.xxx.ru/informer.js" charset="windows-1251"></script>

Должно помочь, но я бы не рекомендовал этот способ, как постоянное решение проблемы, т.к. он не соответствует стандартам, со всеми вытекающими...

Shtogrin
На сайте с 02.11.2006
Offline
95
#5
Essay:

<script LANGUAGE="javascript" src="http://www.xxx.ru/informer.js" charset="windows-1251"></script>
Должно помочь, но я бы не рекомендовал этот способ, как постоянное решение проблемы, т.к. он не соответствует стандартам, со всеми вытекающими...

Стандартам он как раз соответстует.

http://www.w3.org/TR/REC-html40/interact/scripts.html

Другое дело IE.

www.shtogrin.com (http://www.shtogrin.com/). Канцтовары (http://www.invit.com.ua/). 1С Бухгалтерия (http://account.kiev.ua/).
E
На сайте с 14.09.2007
Offline
24
#6
Shtogrin:
Стандартам он как раз соответстует.
http://www.w3.org/TR/REC-html40/interact/scripts.html

Другое дело IE.

Ха, действительно, соответствует стандарту - а мне сказали, что нет - я и поверил :) С IE 6 проблем в этом случае нет - проверено.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий