Eller kan någon förklara varför det går att ladda ner en fil i firefox, men inte via Internet Explorer? IE tar bort alla å ä ö från adressraden, medans firefox ersätter dom med HTML-tecken.
I PHP så finns funktionerna urlencode och htmlspecialchars som passar (spec urlencode) för detta och liknande ändamål.
Men koden du pastear överst ser ut att vara i template-form skrivet för smarty eller liknande system, och därför kan det vara användbart att använda sig av modifiers för just urlencode i detta fall. Om jag minns rätt så bör följande kodstycke eventuellt lösa ditt problem:
Jag provade den där koden, och den ersätter numera mellanrum med +, och då hittar den inte filen heller verkar det som. Jag kan inte begripa varför originalkoden funkar så himla bra med firefox, safari och andra webbläsare, men inte med IE.
Vilken teckenkodning du använder dig av spelar mindre roll så länge de tecken du nyttjar finns stödda. Däremot så kan webbläsare tolka din sida olika om du har dåligt definerad teckenkodning. Jag säger inte att det är här som problemet ligger, men det är inte en alltför ovanlig anledning. Det borde dock vara fler fel än denna länk på sidan om så är fallet.
Ett snabbt sätt att kontrollera detta är att visa sidinformationen i de webbläsare som sidan fungerar i, och jämföra vad de anser att det är för teckenkodning mot de webbläsare som sidan inte fungerar i. Om båda överensstämmer med vad din kod använder och rapporterar för teckenkodning så ligger inte problemet här.
I övrigt så bör åäö ha blivit satta till korrekta %-värden i länken. Har du tittat i källkoden för den producerade länken?
Som sagt, lite svårt att lösa något med bara fraktioner av systemet. Men min nuvarande gissning ligger på att du nu har ett problem med följande rad kod (se din första post):
Header('Location: '.$uri);
Det går inte riktigt att skicka med vilka tecken som helst till header() hur som helst.
Okej, och du har ingen tips på hur man kan lösa det? Någon speciell kod du behöver se? Man blir lätt galen när man försökt med alla knep känns det som.
Det som stör mig mest är att det bara verkar vara problem med IE, inte med någon annan webbläsare.