Slik fungerer URL-koding
I nettadresser kan bare noen få tegn brukes: bokstaver uten aksent, tall og noen skilletegn. Alt annet blir kodet. I UTF-8 består ø av bytene C3 og B8 og blir derfor %C3%B8. Et mellomrom blir %20, eller + i skjemaer.
Kodet
Bl%C3%A5b%C3%A6rsyltet%C3%B8y fra Troms%C3%B8
Avkodet
Blåbærsyltetøy fra Tromsø
De vanligste URL-kodene
%C3%A5= å,%C3%A6= æ,%C3%B8= ø,%C3%A9= é%C3%85= Å,%C3%86= Æ,%C3%98= Ø%E2%82%AC= €,%E2%80%99= ’,%E2%80%93= –%20= mellomrom,%2F= /,%3F= ?,%26= &,%25= %
Eldre systemer koder hver bokstav med én enkelt byte fra Windows-1252: Tr%F8ndelag i stedet for Tr%C3%B8ndelag. Mojibuster kjenner igjen det også og gjør det om til Trøndelag.
Hvor URL-kodet tekst kommer fra
- Kopierte lenker: nettleseren viser
no.wikipedia.org/wiki/Tromsølesbart, men ved kopiering havner ofteTroms%C3%B8på utklippstavlen. - Skjemaer og sporing: søkeord og UTM-parametere lagres kodet i serverlogger og analyseeksporter, for eksempel
?q=bl%C3%A5b%C3%A6r. - Eksporter og API-er: enkelte nyhetsbrevverktøy, webhooks og API-er lagrer verdier kodet; i CSV-filen står det da koder i stedet for navn.
- Filnavn: en nedlasting heter
Faktura%20%C3%85se.pdfnår serveren ikke avkoder navnet.
Koder og ødelagte tegn på en gang
Noen ganger er teksten ødelagt to ganger: %C3%83%C2%B8 er et URL-kodet ø, altså en ø som først ble lest feil og deretter kodet. Mojibuster avkoder først kodene og reparerer deretter à med tilde. Til slutt står det ø igjen.
Innstillingen Konverter også koder er allerede avkrysset på denne siden. Den gjør også om HTML-koder (ø), e-postkoder (=C3=B8) og escape-sekvenser fra programkode (\u00f8). Andre tegnfeil: fiks UTF-8-tegn.
Avkode selv i Excel, JavaScript, Python og PHP
- Excel: har bare en funksjon for å kode (
ENCODEURLi den engelske versjonen), ingen for å avkode. Enklest: kopier kolonnen, lim den inn her og kopier resultatet tilbake. Se også rare tegn i Excel. - JavaScript:
decodeURIComponent("Troms%C3%B8")girTromsø. - Python:
urllib.parse.unquote("Troms%C3%B8"), ellerunquote_plusfor skjemadata med+som mellomrom. - PHP:
rawurldecode(), ellerurldecode()for skjemadata.
Ofte stilte spørsmål
Hva betyr %C3%B8?
Det er ø i URL-koding: de to UTF-8-bytene C3 og B8, hver med et % foran. På samme måte er %C3%A5 en å og %C3%A6 en æ.
Hva betyr %20?
Et mellomrom. I skjemadata brukes ofte + i stedet. Mojibuster lar + stå, fordi det i vanlig tekst kan være et ekte plusstegn.
Lastes lenkene mine opp?
Nei. Omgjøringen skjer helt i nettleseren din. Lenker med token, e-postadresser eller andre personopplysninger forlater aldri enheten din.
Hvorfor endres ikke 100%?
Mojibuster gjør bare om sekvenser som gir et ekte spesialtegn. 100%, 50 % eller en enslig %20 i vanlig tekst blir stående som de er.