Jag har ett formulär som man fyller i en del grejer på, efter man fyllt i allt och skickat iväg det kommer man till en sida som man kan klicka på "skriv ut" på, denna länk skickar alla variabler till ett popup fönster där man kan skriva ut det man har fyllt i på ett stiligt sätt.
Allting fungerar perfekt förutom att åäö blir %uFFFD i popupfönstret i Safari, fungerar utan problem i Firefox och IE7.
Javascriptet ser ut ungefär så här:
<script type="text/javascript">
function printWindow(var1, var2, var3)
{
var nW = window.open("","fbWin", "width=785,height=525,scrollbars=yes");
nW.location.href="print.php?var1="+escape(var1)+"&var2="+escape(var2)+"&var3="+escape(var3);
nW=null;
}
</script>
Variablerna innehåller textsträngar som kan vara ganska långa. Men varför blir ÅÄÖ %uFFFD i Safari i popupfönstret? Har lagt till detta i popup.php:
Har aldrig blivit klok på Safaris teckenkodning.
Jag måste ibland växla mellan UTF-8 och "western" för att få alla sidor att funka. Funkar en sida inte med det ena, så funkar det andra.
Så gör som voigtann1 föreslår. Ändra teckenkodningen.
Teckenkodningen står som "Förvald", detta är Safari på 10.5 (senaste?) har även en mac som kör 10.3 och där är det en äldre Safari och teckenkodningen står som "standard", på Safari 10.3 fungerar det utan problem, bara problem på 10.5 med Safari och bara på ett par variabler som skickats genom javascriptet.
Får prova någon annan teckenkodning, fast frågan är ju om de som använder detta med Safari på 10.5 ens vet vad teckenkodning är.
Om du skickar in tecken som inte är korrekta enligt Unicode (såsom åäö kodade med iso) så kan det hända att unicode tolken använder denna generiska ersättning. Vanligen skall den dock visas med en specialglyf, typ frågetecken eller något liknande.
260 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e