Avatar billede encorez Nybegynder
12. september 2010 - 20:27 Der er 4 kommentarer og
1 løsning

Header med æ, ø og å

Hej

Jeg skal gerne have en header("Location: /test/En-Ø/");
Men når jeg bruger header laver den æ, ø og å om til de andre "mærkelige" tegn.

Bruger jeg et alm link til /test/En-Ø/ så kan browseren fint finde ud af at skrive æ, ø og å i URL uden de mærkelige tegn.

Jeg tænker om jeg skal sende et charset med i den header. Men ved ikke hvordan. Jeg har fandt et eksempel på andet på nettet, og prøvede det tilsvarende med uden held. Og jeg ved ikke om det overhovedet kan lade sig gøre.

På forhånd tak for tricket.
Simon
Avatar billede majbom Novice
12. september 2010 - 21:02 #1
det er med stor sikkerhed et charset-problem, men lige hvor det går galt er svært at sige med de begrænsede oplysninger.

generelt er speciael-tegn i url og lignende en dårlig ide...
Avatar billede encorez Nybegynder
12. september 2010 - 21:11 #2
Har lige fundet ud at hvis jeg i en mail har et link til f.eks.
http://www.her.dk/test/En-Ø/
så laver den ø'et om til %C3%B8.

Jeg kan ikke se mønsteret i hvornår den gerne vil skrive æ, ø og å i URL og hvornår den ikke vil.

Hvis der i URL står: test/En-Ø/
$strurl = preg_replace("'/'", "", $_SERVER['REQUEST_URI'], 1);
$graburl = explode("/",$strurl);
så vil $graburl[1] være "En-%C3%B8".

Så jeg er lidt i vildrede...
Avatar billede encorez Nybegynder
12. september 2010 - 22:00 #3
Du har ret, jeg dropper æ, ø og å i URL og laver dem konsekvent om istedet.

Tak for det :)
Avatar billede andreas13_fam Nybegynder
12. september 2010 - 22:08 #4
Man kan/bør ikke skrive special tegn i en url/uri derimod kan man bruge % efterfulgt af en 2 cifret hex kode.

Da der dog kun kan være 256 mulighedder med en 2 cifret hex code er der i nogle tilfælde brugt en sammensætning at 2 par hex koder, som i dette tilfælde med Ø.

Grunden til at du kan skrive Ø i din url er med stor sandsynlighed fordi browser oversætter Ø til %C3%98 uden at brugeren kan se det. Mens der i kildekoden på et website fx i forbindelse med et link vil så denne hex kode og ikke et Ø.

Du kan for eksempel prøve at at gå ind på http://www.google.dk/#q=%c3%98 og du vil se at der bliver søgt efter "Ø" og at internetadressen i nogle browser bliver http://www.google.dk/#q=Ø

Hvis du ønsker at konventer disse specialtegn til hex koder kan det gøres med urlencode http://php.net/manual/en/function.urlencode.php

Så håber jeg at min forklaring er god nok og at det også er rigtigt det jeg siger :)
Avatar billede majbom Novice
12. september 2010 - 22:22 #5
selv tak - var det så meningen at du selv skulle have pointene?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester