Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z kodowaniem polskich znaków w js
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
athabus
Witajcie,

mam dziwny problem z którym nie potrafię sobie poradzić. Otóż próbuję dopisać w koszyku zliczanie kosztów dostawy dla klienta za pomocą Javascript. Nie wgłębiając się w szczegóły newralgiczny fragment kodu wygląda tak:
  1. var text = 'Łączna wartość zamówienia wraz z wysyłką to: <font color=red>' +
  2. totalValue.toFixed(2)
  3. + 'zł<\/font> <br /> w tym<ul><li> zamówione towary: ' + orderValue.toFixed(2) +
  4. 'zł <\/li><li>koszt dostawy: ' + deliveryCost.toFixed(2)
  5. + 'zł <\/li><li>koszt płatności(np.: pobranie): ' + paymentCost.toFixed(2) + 'zł<\/li><\/ul>';
  6.  
  7. document.getElementById('deliveryCost').innerHTML=decodeURIComponent(text);


Na localhost wszystko działa pięknie, wyświetlają się polskie znaczki etc. Natomiast po wgraniu na serwer dostaje coś takiego:

Cytat
czna warto zamienia wraz z wysyto: 60.51z/font>
w tym

* zamione towary: 41.01z
* koszt dostawy: 15.00z
* koszt ptnoi(np.: pobranie): 4.50z/li>


Dodam, że plik jest poprawnie zakodowany w utf, nagłówki też są poprawne w dokumencie jako utf. Nie działa tylko ten fragment w javascript - treści generowane w php są ok. Podejrzewam, że może to mieć coś wspólnego z serwerem bo tak jak pisałem na localhost działa a na serwerze nie.

Powiem szczerze, że nie mogę znaleźć przyczyny - próbowałem już różnych rozwiązań z google ale nic się nie udało uzyskać.
erix
Ok, a jakie domyślne kodowanie jest ustawione dla serwera?
athabus
Zdaje się że serwer nie ma ustawionego domyślnego kodowania.
To jest nagłówek gołego pliku .php (zwykłe echo 'cos'):
Cytat
Date: Sat, 18 Jul 2009 13:00:55 GMT

Server: Apache

Content-Encoding: gzip

Vary: Accept-Encoding

Content-Length: 30

Keep-Alive: timeout=15, max=98

Connection: Keep-Alive

Content-Type: text/html


W przypadku strony z problemem mam nagłówek taki:
Cytat
Date: Sat, 18 Jul 2009 12:29:51 GMT

Server: Apache

Expires: Mon, 26 Jul 1997 05:00:00 GMT,

Cache-Control: no-cache, must-revalidate,

Pragma: no-cache,

Etag: "220e79c34e01bf28ece03b0d3c1f61c3"

Content-Encoding: gzip

Vary: Accept-Encoding

Content-Length: 5710

Connection: close

Content-Type: text/html; charset=utf-8


Czyli jest ustawiony nagłówek na uft-8

Żeby było dziwniej to mam html i js w jednym pliku. Gdy podglądam źródło to html wyświetla się prawidłowo, ale już wszystko w tagu <javascript> ma krzaki.

Przychodzi mi do głowy jeszcze jedne problem - używam symfony - może framework jakoś dodatkowo "mieli" szablon gdy składa stronę do kupy.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.