Det torde bero på att de flesta webbläsare nuförtiden automatiskt url-encodar querystrings i länkar.
I min Mozilla ser man det också i adressraden, men IE verkar göra det osynligt.
red: Jag menar givetvis url-encoding, inte html-encoding.
Mvh
12 svar · 453 visningar · startad av mattiasjarnhall
Hej alla glada.
Jag har upptäckt en riktigt skum grej idag. Om jag skickar en querystring (som innehåller å,ä,eller ö) med i url:en i browsern till en aspx-sida så försvinner dessa bokstäver.
Skapar jag däremot en länk som skikar med exakt samma tecken så försvinner inga tecken.
Testa gärna här: http://www.backpacking.nu/aspNetTest.aspx
Börja först med att trycka på länken där för att se att "aåaäaö" skrivs ut. Gå sedan upp i URL:en och ta bort eller lägg till en bokstav och tryck enter. Vad händer? Jo alla å,ä,och ö försvinner!
Kan någon vänlig själ förklara VARFÖR?
Vad är det för skillnad att göra en Request till en server via en länk mot att skriva den direkt i browsern? Det borde väl inte vara någon skillnad tycker jag?!
Det torde bero på att de flesta webbläsare nuförtiden automatiskt url-encodar querystrings i länkar.
I min Mozilla ser man det också i adressraden, men IE verkar göra det osynligt.
red: Jag menar givetvis url-encoding, inte html-encoding.
Mvh
? Förstår inte..
Vad blir skillnaden om jag klickar på länken och på så sätt skickar med querystringen? från att skriva in den direkt i browsern?
Vad kuligt!
Men annars brukar man ju kunna skicka med åäö i en QueryString men att webbläsaren endast översätter den med typ UrlEncode inte att den plockar bort den helt och hållet från din querystring.
Vad mysigt! :e
Har du testat att sätta doctype och encoding på sidan?
Blir problemet likadant då?
Hur skall jag skriva ulfe?
Testa att lägga in (ovanför header)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
i headern:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
Hjälpte inte..
Sorry
När jag kollar din sida ovan ser jag inte att du addat dessa saker...
Kör du codebehind eller koden i aspx-sidan?
Jag tog bort det efter att jag testat :)
OK
Sorry att jag inte kunde hjälpa dig, men det har väl aldrig varit rekommenderat med åäö i filnamn/querystrings
Vad händer om du använder POST istf GET för att hämta dina filer? Samma sak?
Nu börjar jag närma mig felet!
För att bilden skall fungera måste jag köra länken genom Server.UrlEncode precis som någon sa ovan.. problemet är bara att asp's UrlEncode inte ger samma resultat som ASP.NET's
Inputsträng: Fjäril.JPG
UrlEncode med ASP: fj%E4ril%2EJPG
UrlEncode med ASP.NET: fj%c3%a4ril.JPG
Varför blir de olika?
Problemet är att jag "anropar" min aspx sida från en asp-sida vilket tvingar mig till att använda UrlEncode på asp-sidan.
Jag kan ju iof lösa problemet genom att göra en engen UrlEncode-funktion som ser lika dan ut som asp.net's, men det känns drygt. Någon som kan komma på ett bättre sätt?