28. september 2004 - 23:37Der er
11 kommentarer og 1 løsning
Brug af Æ og Ø og Å i mappenavne
Hej Eksperter.
Jeg har en række virtuelle mapper på mit website, som er tilknyttet mapper af samme navn på serveren. Desværre indeholder en af disse mapper bogstaver Ø, hvilket har gjort mig en smule nervøs. Jeg prøvede dog at oprette mappen på serveren - og til min forbavselse virkede alt fint. Er det noget jeg kan regne med vil virke fremover? Og i hvilken forbindelse skal jeg passe på disse specielle tegn? Pt. er jeg hosted på en Linux maskine.
Jeg ser frem til at modtage svar. Hvis jeg kan kører med brug af æ, ø og å i mine mappenavne, så er det en stor lettelse. Så skal jeg ikke hen og omstrukturere et helt website.
Hvis det er en nyere Linux og UTF-8 så tror jeg at du er rimeligt OK, da anvendelsen af UTF-8 vil stige i fremtiden.
Du bør imidlertid nok lige checke med et bredt udvalg af browsere og checke om det virker på dem alle inden du siger OK.
Synes godt om
Slettet bruger
28. september 2004 - 23:47#3
Hvis din server bruger iso-8859-1 som tegnsæt, og min desktop bruger UTF-8, er det ikke sikkert, jeg kan indtaste adressen til den mappe i min browser. Det samme gælder, hvis vi bytter tegnsæt. Et ø i det ene er nemlig ikke det samme som et ø i det andet.
Brugeren vil aldrig komme til at skulle indtaste et Æ, Ø eller Å i URL'en. De vil højest komme til at downloade en fil - og det bliver PHP som sender brugeren videre til filen på flg. måde :
Jeg synes ikke jeg er blevet meget klogere - så lad os lige slå et par ting på plads. Brugerne kan \ikke\ tilgå mappen. Hvis en bruger downloader en fil, så bliver den sendt til brugeren vha : header("location: /filer/æøå/aebler.zip"); (Det ville så være rart at vide, om encoding fandt sted automatisk).
Mht. div ISO og UTF standarder, så er det ikke noget jeg kan satse på. Mit system skal kunne køre på enhver platform (Windows, Linux/Unix).
Systemet skal naturligvis også kunne køre på enhver klient (browser, OS). Men jeg vil ikke sidde og tage højde for defekte browsere. Størstedelen af nettets brugere har vel IE, Netscape eller en Mozilla klon.
UTF-8 og ISO-8859-1 er standarder og er ikke platform specifikke.
Jeg ved ikke om PHP header selv URL encoder eller man selv skal gøre det.
Men løsningen er klar: - faktisk karakter sæt (UTF-8 eller ISO-8859-1 skal matche det der angives i HTTP header eller META tag - URL'en skal være URL encoded når den når browseren
Uhm, ok. Dvs. jeg så skal hitte ud af, om PHP selv encoder URL'en i header. Det virker lidt besværligt. Måske man skulle holde sig til a-z. Bryder mig alligevel ikke om æ, ø og å. Desværre skal jeg hen og lave en hel del om i mit site nu :(
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.