Richard87 Skrevet 13. oktober 2007 Skrevet 13. oktober 2007 (endret) Hei, har problemer med tegnsettet igjen:( Jeg har en webside med prototype i bakgrunnen, som sender en kommando og all informasjonen til ajax.php som igjenn kaller lagreForm() i funcrions.php (litt bakgrunn;) ) i functions.php, la jeg til denne snippeten: foreach ($_POST as $key => $value) { $key = str_replace('æ', 'æ', $key); $key = str_replace('ø', 'ø', $key); $key = str_replace('Ã¥', 'å', $key); $key = str_replace('Æ', 'Æ', $key); $key = str_replace('Ø', 'Ø', $key); $key = str_replace('Ã…', 'Å', $key); $value = str_replace('æ', 'æ', $value); $value = str_replace('ø', 'ø', $value); $value = str_replace('Ã¥', 'å', $value); $value = str_replace('Æ', 'Æ', $value); $value = str_replace('Ø', 'Ø', $value); $value = str_replace('Ã…', 'Å', $value); } Men det virker ikke:( Any idea why? lagt til en funksjon for og endre tegnsettet til alle filene til ISO-8859-1(inklusivt i ajax skriptet, dvs, i main.js fila, index.php og ajax.php, noen andre åpenlyse plasser dere tror jeg kan ha glemt te så skrik ut;) ) Takker for all hjelp [EDIT] Takker for alle svar, utf8_decode gjorde susen;) Endret 19. oktober 2007 av Richard87
Ernie Skrevet 13. oktober 2007 Skrevet 13. oktober 2007 Hvorfor holde på slik? utf8_decode(...) burde jo fungere?
tarquinn Skrevet 18. oktober 2007 Skrevet 18. oktober 2007 Legg til denne linjen øverst i fila: header('Content-Type: text/html; charset=ISO-8859-1');
phpp Skrevet 18. oktober 2007 Skrevet 18. oktober 2007 foreach ($_POST as $key => $value) { $key = str_replace('æ', 'æ', $key); $key = str_replace('ø', 'ø', $key); $key = str_replace('Ã¥', 'å', $key); $key = str_replace('Æ', 'Æ', $key); $key = str_replace('Ø', 'Ø', $key); $key = str_replace('Ã…', 'Å', $key); $value = str_replace('æ', 'æ', $value); $value = str_replace('ø', 'ø', $value); $value = str_replace('Ã¥', 'å', $value); $value = str_replace('Æ', 'Æ', $value); $value = str_replace('Ø', 'Ø', $value); $value = str_replace('Ã…', 'Å', $value); } Den koden gjør INGENTING.. Eneste er at den lager $key og $value til det som kommer sist i $_POST arrayet.. Du må legge til $_POST[$key] = $value; på siste linja ! Hehe Ellers anbefaler jeg: foreach($_POST as $k=>$v) { $_POST[$k] = utf8_decode($v); } som gjør akkurat det samme Om dette løste ditt problem vennligst endre tittel til [LØST] <tittel> på første emnet og forklar din fremgangsmåte!
Richard87 Skrevet 19. oktober 2007 Forfatter Skrevet 19. oktober 2007 hei, takker for svar, men jeg tør påstå at deler av det virker faktisk: foreach ($_POST as $key => $value) { switch ($key) { case 'command': echo 'test'; break; } } Dette virker i mitt oppsett (php5)
ZoRaC Skrevet 20. oktober 2007 Skrevet 20. oktober 2007 Ja, men echo $_POST['command'] etter løkka gir den ORIGINALE verdien, ikke den som har blitt "benhandlet" av str_replace()
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå