xatic Skrevet 12. mars 2012 Del Skrevet 12. mars 2012 (endret) Heisann! Jeg er sikkert ikke alene om dette, men ÆØÅ fungerer jo ikke med standard løsningene til PHP. Dvs, funksjoner som ucfirst/strtolower etc. Finnes det noen løsning for dette? eller må jeg til å lage en egen funksjon for dette? Svaret finner du lengre ned i posten! Endret 12. mars 2012 av xatic Lenke til kommentar
etse Skrevet 12. mars 2012 Del Skrevet 12. mars 2012 Instillingene er i så fall feil på serveren, regner med locale er feil. Sett dette i toppen av scriptet for å overstyre standard-instillinger: setlocale(LC_ALL,"no_NO"); Lenke til kommentar
xatic Skrevet 12. mars 2012 Forfatter Del Skrevet 12. mars 2012 (endret) Dette har jeg prøvd før, og da får jeg bare "������" når tingens skrives ut, og dette skjer ikke ellers når ÆØÅ skrives ut i PHP. setlocale(LC_ALL,"no_NO"); $str = strtolower('ÆØÅ'); echo $str; // result: ������ Endret 12. mars 2012 av xatic Lenke til kommentar
KarmaZ Skrevet 12. mars 2012 Del Skrevet 12. mars 2012 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> Lenke til kommentar
xatic Skrevet 12. mars 2012 Forfatter Del Skrevet 12. mars 2012 (endret) Hvorfor kan jeg ikke bruke <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> :EDIT: Prøvde med, <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> og dette ga meg bare, "ã†ã˜ã…" Endret 12. mars 2012 av xatic Lenke til kommentar
KarmaZ Skrevet 12. mars 2012 Del Skrevet 12. mars 2012 Fordi det er html, paste i <head> Edit, vis oss koden din, så blir problemet løst :] Lenke til kommentar
xatic Skrevet 12. mars 2012 Forfatter Del Skrevet 12. mars 2012 (endret) Er ikke så mye, driver bare og tester, <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <meta name="author" content="" /> <title></title> </head> <body> <?php setlocale(LC_ALL,"no_NO"); $str = strtolower('ÆØÅ'); echo $str; ?> </body> </html> Endret 12. mars 2012 av xatic Lenke til kommentar
JohndoeMAKT Skrevet 12. mars 2012 Del Skrevet 12. mars 2012 PHP har ingen problemer med æøå, det er nok brukerfeil. Første spørsmål: Hvilket tegnsett lagrer du kildekoden i? Lenke til kommentar
xatic Skrevet 12. mars 2012 Forfatter Del Skrevet 12. mars 2012 UTF-8, er dette jeg forholder meg til. Lenke til kommentar
JohndoeMAKT Skrevet 12. mars 2012 Del Skrevet 12. mars 2012 Ok. Bruk mb_ versjonene av strengfunksjonene, som mb_strtolower og mb_substr. Jeg ser at ucfirst desverre ikke har en mb_-variant, så der må du kombinere mb_strtolower, mb_strtoupper og mb_substr for effekten du ønsker. Lenke til kommentar
xatic Skrevet 12. mars 2012 Forfatter Del Skrevet 12. mars 2012 Da ble det slik, lagde en enkel funksjon som løste problemet. function nor_ucfirst($str) { $length = mb_strlen($str,'UTF-8'); $x= mb_strtolower($str,'UTF-8'); $strx = mb_strtoupper(mb_substr($str,0,1,'UTF-8'),'UTF-8'); $stry = mb_substr($x,1,$length,'UTF-8'); return $str = $strx . $stry; } echo nor_ucfirst('åasåæødlawd'); Lenke til kommentar
JohndoeMAKT Skrevet 12. mars 2012 Del Skrevet 12. mars 2012 (endret) Du kan lett skrive den funksjonen mye penere: (imo) function x_mb_ucfirst($string) { return mb_strtoupper(mb_substr($string, 0, 1)) . mb_strtolower(mb_substr($string, 1)); } mb_internal_encoding('UTF-8'); echo x_mb_ucfirst('æøå'), "\n"; Endret 12. mars 2012 av JohndoeMAKT Lenke til kommentar
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å