Så fungerar URL-kodning
I webbadresser får bara ett fåtal tecken förekomma: bokstäver utan accent, siffror och några skiljetecken. Allt annat kodas. I UTF-8 består ä av byten C3 och A4 och blir därför %C3%A4. Ett mellanslag blir %20, eller + i formulär.
Kodad
Sm%C3%B6rg%C3%A5s i G%C3%B6teborg
Avkodad
Smörgås i Göteborg
De vanligaste URL-koderna
%C3%A5= å,%C3%A4= ä,%C3%B6= ö,%C3%A9= é%C3%85= Å,%C3%84= Ä,%C3%96= Ö%E2%82%AC= €,%E2%80%99= ’,%E2%80%93= –%20= mellanslag,%2F= /,%3F= ?,%26= &,%25= %
Äldre system kodar varje bokstav med en enda byte från Windows-1252: G%F6teborg i stället för G%C3%B6teborg. Mojibuster känner igen även det och gör om det till Göteborg.
Var URL-kodad text kommer ifrån
- Kopierade länkar: webbläsaren visar
wikipedia.org/wiki/Malmöläsbart, men vid kopiering hamnar oftaMalm%C3%B6i urklipp. - Formulär och spårning: sökord och UTM-parametrar sparas kodade i serverloggar och analysexporter, till exempel
?q=sm%C3%B6rg%C3%A5s. - Exporter och API:er: vissa nyhetsbrevsverktyg, webhooks och API:er sparar värden kodade; i CSV-filen står det då koder i stället för namn.
- Filnamn: en nedladdning heter
Faktura%20%C3%85sa.pdfnär servern inte avkodar namnet.
Koder och trasiga tecken på en gång
Ibland är texten trasig två gånger: %C3%83%C2%A4 är ett URL-kodat ä, alltså ett ä som först lästes fel och sedan kodades. Mojibuster avkodar först koderna och reparerar sedan à med tilde. Till slut står det ä igen.
Alternativet Konvertera även koder är redan ikryssat på den här sidan. Det gör också om HTML-koder (ä), e-postkoder (=C3=A4) och escape-sekvenser från programkod (\u00e4). Andra teckenfel: fixa UTF-8-tecken.
Avkoda själv i Excel, JavaScript, Python och PHP
- Excel: har bara en funktion för att koda (
ENCODEURLi den engelska versionen), ingen för att avkoda. Enklast: kopiera kolumnen, klistra in den här och kopiera tillbaka resultatet. Se även konstiga tecken i Excel. - JavaScript:
decodeURIComponent("Malm%C3%B6")gerMalmö. - Python:
urllib.parse.unquote("Malm%C3%B6"), ellerunquote_plusför formulärdata med+som mellanslag. - PHP:
rawurldecode(), ellerurldecode()för formulärdata.
Vanliga frågor
Vad betyder %C3%A4?
Det är ä i URL-kodning: de två UTF-8-byten C3 och A4, var och en med ett % framför. På samma sätt är %C3%A5 ett å och %C3%B6 ett ö.
Vad betyder %20?
Ett mellanslag. I formulärdata används ofta + i stället. Mojibuster låter + stå kvar, eftersom det i vanlig text kan vara ett riktigt plustecken.
Laddas mina länkar upp?
Nej. Omvandlingen sker helt i din webbläsare. Länkar med token, e-postadresser eller andra personuppgifter lämnar aldrig din enhet.
Varför ändras inte 100%?
Mojibuster gör bara om sekvenser som ger ett riktigt specialtecken. 100%, 50 % eller ett ensamt %20 i vanlig text lämnas som de är.