Lokale linker funker ikke i ie med utf8

A

aabbcc

Guest
Jeg setter opp en enkel side for å linke til lokale ting i forbindelse med en messe. Altså en veldig enkel html-side med noen linker til filer lokalt.

Alt funker fint helt til jeg skal ha inn et norsk ord med å. Da blir det rare tegn og jeg kommer på at jeg ikke har brukt utf8, så jeg gjør om og alt ser fint ut.

MEN, når jeg lagrer som utf8 så vil plutselig ikke lokale linker fungere i ie9 på noen maskiner. Det skjer rett og slett ikke noe når jeg trykker på linkene. Eksterne linker funker fint og i alle ordentlige nettlesere funker alt som det skal. Er det noen som har vært borti noe slikt før?

(Det er snakk om ett ord i mitt tilfelle, så jeg kommer meg fint rundt det, men jeg synes det var veldig merkelig og fryktelig irriterende.)

aabbcc
 
Internett, http og UTF-8 er en pisskombinasjon :)

Hvis du har lagret HTML-fila i UTF-8, med norske bokstaver i filnavnet, så ender du sannsynligvis opp med å spørre etter feil fil på server.

Det er iallefall min første antagelse :)
 
A

aabbcc

Guest
Neida det testet jeg. Jeg ga inn og skrev Aa istedenfor Å. Det var på engelsk men med ett norsk egennavn. Veldig merkelig greie.
 

adeneo

Medlem
Internett, http og UTF-8 er en pisskombinasjon :)

Hver sin smak, men UTF8 er det foretrukne tegnsettet, og er etter min mening det tegnsettet man bør bruke, men det forutsetter at tegnsettet angis i header'n og at alle filer lagres som UTF8 uten BOM (byte order mark).

Problemet her er URI standarden RFC3986, som klart angir at ting som æøå ikke skal forekomme i en URI.

Dersom du registrerer et domenenavn med æøå vil du se at de særnorske tegnene byttes ut til en ascii version i stedet. Dette gjøres med noe som kalles punycode i henhold til RFC3490, og selv om det står våtedrømmer.no i nettleseren, så er det noe sånt som xn--vtedrmmer-52a7s.no som sendes i stedet, ettersom æøå egentlig ikke er støttet av standardene.

For resten av URI'en, altså den delen som normalt henviser til mapper og filer, så er det urlencoding som gjelder, det betyr at for å lese filen ørten.html i en nettleser, så bruker man %C3%B8rten.html i stedet.

De fleste nettlesere forstår dette, og urlencoder automatisk æøå slik at det ikke blir noe problem, men Internet Exploderer gjør ikke dette, så der må du faktisk skrive inn %C3%B8rten.html, og ikke ørten.html for å få det til å virke.

Dette er grunnen til at man egentlig aldri bør bruke æøå i filnavn på en nettside, og vanlig praksis er å gi filene nye navn som kun inneholder ascii tegn i UTF8, ettersom å lage filer som inneholder æøå er en særdeles dårlig ide.
 
Sist redigert:
A

aabbcc

Guest
Det stemmer sikkert, men det var ingen æøå i noen filnavn eller mappenavn. Om dette hadde vært problemet ville jeg vel fått beskjed om at ie ikke finner filen, men i mitt tilfelle skjer det rett og slett ingenting når jeg trykker på de lokale linkene.

Jeg har søkt en del rundt og ettrr hva jeg kan forstå så er det en sikkerhetsgreie i ie.
 

selbekk

Medlem
hvordan ser <a>-taggene dine ut?

Hvis dine lokale linker ser ut som f.eks.

Kode:
<a href="file:///C:/Users/aabbcc/dinfil.html">Linktekst</a>

så er du på ville veier, og det er bare ettergivenheten til noen moderne browsers som løser det i andre browsers.
Gitt at alle .html-filene dine ligger i samme mappe, er riktig måte å linke på:

Kode:
<a href="dinfil.html">Linktekst</a>

Så det var noen andre på google som hadde hatt samme problemet, og det var noe av de gjorde feil :) Lykke til!
 
A

aabbcc

Guest
Hei Selbekk
Jeg fikk ordet en løsning som funka for dette tilfelle, men takk for at du prøvde å hjelpe. Linkene var fine relative linker, problemet lå i sikkerhetsinnstillinger hos ie i noen spesielle utgaver. Ved å endre en sikkerhetsinnstilling løste det seg, men jeg husker ikke i farten hva det var nøyaktig jeg stilte på.

Abc
 
Topp