Skrypt java

w dziale Strony WWW w Operze
sebass77 napisał(a):

Mam na stronie skrypt java, który wyświetla obrazki i tekst. Kodowanie tekstu i całej strony to utf-8. W skrypcie zaznaczone jest kodowanie utf-8, ale opera zachowuje sie tak jakby go nie rozpoznawała. Strona wyświetla się dobrze ale tekst z java script z krzakami. Gdy ustawie kodowanie w operze na utf-8 to wszystko dobrze sie wyswietla gdy kodowanie ustawione jest na automatycznie to w tekscie ze skryptu sa krzaki. (reszta ok) Domyslne ustawienie kodowania w operze to iso-8859-2 a gdy zmienie na utf-8 to wtedy będzie ok. Opera zachowuje sie tak jak gdyby na stronie rozpoznawała kodowanie a w skrypcie już nie. Strone sprawdzałem na operze 9.27, 9.50, w firefoxie i explorerze. W FF i Explorerze jest ok. FF też ma domyślnie ustawione kodowanie na 8859-2 i dobrze interpretuje cały kod jako utf-8. Nie wiem czy to wina java script czy opery. W obu wersjach opery jest ten problem. Czy ktoś z was zna się na skryptach javy ? Gdzie może być problem ?

Zaufany napisał(a):

Dla formalnosci: JavaScript czy Java?
Możesz gdzieś dać linka do tej strony?

sebass77 napisał(a):

Chodzi mi o taki skrypt:

<script type="text/javascript">
var zm_border="1";
var zm_title_size="12";
var zm_desc_size="";
var zm_link_size="10";
var zm_padding="10";
var zm_width="145";
var zm_height="130";
var zm_num="3";
var zm_cat="15";
var zm_new_window=0;
var zm_campaign="";
var zm_font_family="Arial, Helvetica";
var zm_border_color="white";
var zm_border_style="solid";
var zm_title_color="black";
var zm_desc_color="black";
var zm_link_color="#336699";
var zm_partner_link="";
</script>

<script src="http://partnertools.zlotemysli.pl/?c=ads&cv=UTF-8&adtype=10&num=3&cat=15" type="text/javascript"> </script>

Mam go na przykład na http://linux-lenny.blogspot.com

Zaufany napisał(a):

Moja Opera mi podała, że skrypt *nie ma* ustalonego kodowania. Jest wysyłany w kodowaniu *domyślnym*. Zasadniczo to jest błąd serwera, który ów skrypt tak wysyła.

Rozwiązania:
1. Ustawić serwer, aby wysyłał poprawne kodowanie. Wygląda mi to na skrypt, a w języku skryptowym można ustawić nagłówek kodowania z serwera.
2. Zastąpić wszystkie problematyczne litery encjami.
3. Wymusić kodowanie domyślne w Operze na UTF-8.
Narzędzia|Preferencje|Ogólne|Szczegóły|Domyślne kodowanie znaków...

sebass77 napisał(a):

Ok, dzięki za pomoc. Odnośnie ustawienia serwera, chodzi o serwer który wysyła skrypt czy serwer na którym znajduje się strona ? Mógłbyś napisać coś więcej na temat 2 pkt. bo nie znam się na skryptach i czy wogóle ja ze swojej strony mogę coś zrobić czy to właściciel skryptu musi go poprawić ? (pomijając pkt. 3)

Zaufany napisał(a):

Mam na myśli kodowanie serwera, który wysyła plik JavaScript.

Odnośnie punktu 2. - po agielsku encja nazywa się entity. Jest to specjalny ciąg znaków, który przez przeglądarkę jest wyświetlany jako inny znak. Są stosowane dla znaków specjalnych, jak i liter, których nie obejmuje wybrane kodowanie. Nie wiem, co jest domyślnym kodowaniem dla JavaScript, ale chyba ISO-8859-1. Brakuje w nim większości polskich ogonków.

Ą To jest encja dla Ą, chyba. Zrobiłem krótkie poszukiwania, ale nie znalazłem w Internecie stosownej tabeli z polskimi literkami.
Numerek w śordku to chyba pozycja znaku w unikodzie w systemie dziesiątkowym.

ja_szczur napisał(a):

ę \u0119
ł \u0142
ś \u015b
ą \u0105
ż \u017c
ź \u017a
ć \u0107
ń \u0144

Ę \u0118
Ł \u0141
Ś \u015a
Ą \u0104
Ż \u017b
Ź \u0179
Ć \u0106
Ń \u0143

"ó" i "Ó" działają wpisane bezpośrednio