Autor | Zpráva | ||
---|---|---|---|
candiess Profil |
Dobrý večer, mám prosbu s řešením mého problému..
mám stránku (zatím testovací e-shop) -> Zde živá ukázka vlevo nahoře mám minikošík, zobrazuje co je v košíku, je to přes funkci v JS.. function reload_mini_kosik() { $.get("ajax.php?akce=reload_mini_kosik", function(vystup){ $("#radky-mini-kosik").html(vystup); }); } živá ukázka ajax.php?akce=reload_mini_kosik ajax.php <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1250" /> <meta http-equiv="content-Language" content="CS"/> </head> <body> <?php if(isset($_GET['akce'])) { $akce = $_GET['akce']; if($akce=="reload_mini_kosik") { echo "<li>Počet položek: $pocet_polozek</li> <li>Celková cena: $celkova_suma Kč</li> "; } } ?> </body></html> V Chrome to klape nádherně, ovšem mozilla už mi vypisuje Po�et polo�ek: 0 Celkov� cena: 0 K� a IE mi vypisuje to same, akorat misto otazníku píše čtverečky… I když mám kodování i v indexu i na ajax.php, vypiuje mi to ve špatné znaky, muže mi někdo pomoci? děkuji :) |
||
Taps Profil |
#2 · Zasláno: 12. 2. 2011, 17:37:15
candiess:
odkaz na localhost nám asi moc neřekne |
||
candiess Profil |
#3 · Zasláno: 12. 2. 2011, 17:39:00 · Upravil/a: candiess
jo, omlouvám se..opraveno
|
||
Segi_L Profil |
#4 · Zasláno: 12. 2. 2011, 19:18:02
A čo tak zmeniť windows-1250 za UTF-8? Ale súbory musia byť tiež uložené v UTF-8.
|
||
candiess Profil |
#5 · Zasláno: 12. 2. 2011, 19:26:57
Segi_L
fakt že joo, tohle by mě nikdy nenapadlo..děkuju mooc..:)) |
||
Chamurappi Profil |
#6 · Zasláno: 13. 2. 2011, 01:03:06
|
||
candiess Profil |
#7 · Zasláno: 13. 2. 2011, 08:43:05
Chamurappi:
ale ja ten charset poslal... <meta http-equiv="Content-Type" content="text/html; charset=windows-1250" /> mam ho i v indexu i na ajax.php ale prostě ty znaky furt nejdou |
||
Segi_L Profil |
#8 · Zasláno: 13. 2. 2011, 09:09:40 · Upravil/a: Segi_L
Hlavišku musíš poslať ako prvú.
<?PHP header("Content-Type: text/html; charset=windows-1250"); if(isset($_GET['akce'])) { $akce = $_GET['akce']; if($akce=="reload_mini_kosik") { echo "<li>Počet položek: $pocet_polozek</li> <li>Celková cena: $celkova_suma Kč</li>"; } } ?> je to rovnaké ako keď generuješ obrázok napr png v PHP najprv pošleš hlavičku header("Content-type: image/png"); |
||
candiess Profil |
#9 · Zasláno: 13. 2. 2011, 09:17:30
aha.. jo děkuji moc za pomoc :))
|
||
Witiko Profil |
#10 · Zasláno: 13. 2. 2011, 11:11:49 · Upravil/a: Witiko
Segi_L (a nejspíš i Chamurappi):
„Hlavišku musíš poslať ako prvú.“ - <?php header("Content-Type: text/html; charset=windows-1250"); ?> Směl bych se zeptat proč? 1) Data, která php script vygeneruje budou v obou případech (zaslána hlavička / nezaslána hlavička) zcela stejná. 2) Prohlížeč by s nimi měl také stejně zacházet a zobrazit je, pakliže má hlavičku určující znakovou sadu definovanou v meta tagu. └ Jedná se přeci koneckonců o tag, který, pakliže má definovaný atribut http-equiv, nahrazuje / doplňuje přijaté http hlavičky. Co přesně tedy na věci mění přijatá http hlavička? EDIT: To samozřejmě neplatí, pokud data taháme ajaxem a dynamicky vepisujeme do toku dokumentu. Zmátl mě první příspěvek, ze kterého se zdál ajax.php být samostatným HTML dokumentem. Moje chyba. |
||
Chamurappi Profil |
#11 · Zasláno: 15. 2. 2011, 09:36:56
Reaguji na Witika:
„To samozřejmě neplatí“ Ono to není zase tak samozřejmé. Je to dobrá otázka, proč vlastně XMLHttpRequest dlabe na rozpoznávání kódování z obsahu u známých formátů, když jinak to prohlížeč umí. Nevím, proč to tak je, ale bohužel se s tím musíme smířit. |
||
_es Profil |
#12 · Zasláno: 15. 2. 2011, 10:28:52
Chamurappi:
„Ono to není zase tak samozřejmé.“…„když jinak to prohlížeč umí“ Ale XMLHttpRequest to načítava ako obyčajný nenaformátovaný text. Ak sa prehliadaču pošle súbor ako text/plain , tiež z meta značky neberie kódovanie.
|
||
Chamurappi Profil |
#13 · Zasláno: 15. 2. 2011, 11:08:13
Reaguji na _es:
Ovšem Content-Type třeba u XML formátů vnímá dobře a tam je schopen podřídit se interní informaci. Chápu, že toto udělátko bylo určené primárně pro XML, ale když už umožňuje číst i jakýkoliv jiný text (což se časem stalo jeho nejčastější náplní práce) a stala se z něj nativní součást prohlížeče, mohl by rozumět MIME typům stejně chytře jako prohlížeč.
|
||
_es Profil |
#14 · Zasláno: 15. 2. 2011, 11:22:04
Chamurappi:
„Ovšem Content-Type třeba u XML formátů vnímá dobře a tam je schopen podřídit se interní informaci.“ Ale pri použití metódy responseXML sa používa XML parser.
Pri použití responseText sa žiadny parser nepoužije - nie je treba.
Ak by to malo byť tak podobne chytré, musela by byť tá meta značka použiteľná aj mimo head html dokumentu a candiessovi to nefungovalo preto, že sa to inde použiť nedá. |
||
Chamurappi Profil |
#15 · Zasláno: 15. 2. 2011, 18:14:32
Reaguji na _es:
„Pri použití responseText sa žiadny parser nepoužije - nie je treba.“
Různé prohlížeče postupují různě, některé berou v úvahu encoding z XML deklarace i při čtení z responseText .
„musela by byť tá meta značka použiteľná aj mimo head html dokumentu“ To už v podstatě je. Její obvyklá pozice v hlavičce je sice optimální, ale prakticky nikoliv nezbytná. Před ní se stejně může vyskytnout něco, co obsahuje znaky, k jejichž správnému pochopení je nutná znalost kódování. Vzhledem k rozvolněnému přístupu k HTML v prohlížečích, kdy se na kontext berou ohledy pouze, pokud je to nezbytné, není až tak nepředstavitelné, že by libovolný načítaný HTML fragment (tedy zdroj typu text/html ) mohl mít svoji deklaraci kódování. Nekoukalo by se na něj jako na samostatný dokument, ale jako na něco, co se dává do innerHTML .
|
||
Časová prodleva: 13 let
|
0