Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> AJAX - problem z kodowaniem
edspiner
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 13.07.2004

Ostrzeżenie: (0%)
-----


Witam

Sory jeśli poruszam temat który się przewinął ... ale nie znalazłem nic takiego.

Mab problem z kodowaniem ogonków w AJAXie

przykład:

stronka odpala skrypt onclick:
  1. function getItem(opt,id) {
  2.      if(!id) id = '';
  3.      advAJAX.get({
  4.            url : "scripts/test.php",
  5.            onSuccess : function(obj) {
  6.                  if(document.getElementById) document.getElementById("contentDiv").innerHTML = +obj.responseText;
  7.                  else if(document.all) document.all["contentDiv"].innerHTML = obj.responseText;
  8.            }
  9.      });
  10. }


skrypt wygląda nastepująco:
  1. <? 
  2. setlocale (LC_TIME, "pl_PL"); 
  3. echo strftime("%d %B %G");
  4. ?>


w rezultacie dostaję:
6 kwiecie?06 ( na dzisiaj )

oczwysiści sam test.php zwara mi poprawnie:
16 kwiecień 2006
...kodując w windowsach ale to szczegół

Czy ktoś natknął się na taki problem i wie jak go rozwiązać ?

pozdro

P.S.
żeby było śmieszniej to ten błąd mam tylko IE ... :/

Ten post edytował edspiner 16.04.2006, 14:52:23
Go to the top of the page
+Quote Post
Vengeance
post
Post #2





Grupa: Zarejestrowani
Postów: 657
Pomógł: 2
Dołączył: 15.08.2003
Skąd: Łódź

Ostrzeżenie: (0%)
-----


<?
header('Content-type: text/html; charset=iso-8859-2');

setlocale (LC_TIME, "pl_PL");
echo strftime("%d %B %G");
?>

I strona, na ktorej wyświetlasz tę datę powinna mieć kodowanie iso czyli:
<meta http-equiv="content-type" content="text/html; charset=iso-8859-2" />

Uwaga na skrypty, gdzie będziesz wysyłał jakieś dane... Będzie się to odbywało w UTF (tak samo standardowo advajax "odbierane" dane jako UTF) i konieczne będą konwersje.
Go to the top of the page
+Quote Post
edspiner
post
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 13.07.2004

Ostrzeżenie: (0%)
-----


Niestety efekt jest ten sam,zresztą próbowałem to już wcześniej ...
... to i inne sposoby:
- wlepać na twardo <mata>
- dać cały nagłówek html'a
- <php ini_set('default_charset')...
etc...

nic nie działa

generalnie skypt docelowy w którym kożystam z tych metod pobiera dane z MySQLa które są kodowane w iso-8859-2 (czyli ogonki wyświetlane to ogki w kodzie)
i tak generalnie jest, kod generuje te ogonki ale nie wiem czemu choć stora główna ma ustawione kodowanie iso-8858-2 to częśc wktórej jest wyświtlany wynik jest w innym kodowaniu...

P.S.
Wynik skryptu wysyłam do div'a przez innerHTML (może to ma jakieś znaczenie)
Go to the top of the page
+Quote Post
Vengeance
post
Post #4





Grupa: Zarejestrowani
Postów: 657
Pomógł: 2
Dołączył: 15.08.2003
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Przed chwilą miałem ten sam problem i ów:
header('Content-type: text/html; charset=iso-8859-2');

pomogło. Oczywiście jeśli jesteś pewien, że dane z bazy jak i cała strona jest poprawnie skodowana w ISO.
Go to the top of the page
+Quote Post
patrykt
post
Post #5





Grupa: Zarejestrowani
Postów: 101
Pomógł: 0
Dołączył: 3.12.2005

Ostrzeżenie: (0%)
-----


mam ten sam problem. w Operze wszystko działa ok natomiast w IE nie ma już polskich liter :/

header('Content-type: text/html; charset=iso-8859-2') nie pomaga
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.12.2025 - 01:00