Jag har försökt att köra Response.Redirect till en domän som har ett ö i namnet men då får man bara upp "Webbsidan kan inte visas". Testa att idn-konvertera domännamnet: https://domanhanteraren.iis.se/start/idn Ja det fungerar nog ganska säkert. Men det känns inte som rätt väg att gå. Ja då, inga problem. Det var faktiskt tur att jag testade, för om man går till den konverterade adressen så ser man ändå det riktiga namnet med åäö i adressfältet när man har tryckt på enter. Jag har lyckats få tag på ett script nu, men har inte kunnat testa det för att en komponent saknas på webbhotellet.Redirect till domän med åäö
Jag har testat att URL-encoda också men det fungerar inte och där tog mina idéer slut.
Tips?
ThomasSv: Redirect till domän med åäö
Har ingen aning om det hjälper dock...
/JohanSv:Redirect till domän med åäö
Varför blir det fel på redirecten? Jag använder IE7 så stöd för åäö i domän-namnen finns givetvis.
ThomasSv:Redirect till domän med åäö
Så den lösningen går bra. Frågan är nu, kan man konvertera namnet via ett script?
ThomasSv: Redirect till domän med åäö
Komponenten som saknas är ScriptUtils.ByteArray. Går den att byta ut mot nån standardkomponent?
Koden:
<code>
Dim m_BA
Function BA
If IsEmpty(m_BA) Then Set m_BA = CreateObject("ScriptUtils.ByteArray"): m_BA.CharSet = "utf-8"
Set BA = m_BA
End Function
'conversion from unicode string to punycode
Function ToPUNYCODE(Data)
Dim Outdata
BA.String = Data
Outdata = "<div>ToPUNYCODE : Punycode representation of '" & _
Data & "' string :<div style=background-color:yellow;color:blue>"
Outdata = Outdata & "<b>" & BA.Punycode & "</b>"
Outdata = Outdata & "</div></div>"
ToPUNYCODE = Outdata
End Function
'conversion from punycode string (OLE String) to a UNICODE string
Function FromPUNYCODE(Data)
Dim Outdata
On Error Resume Next
BA.Punycode = Data
If Err=0 Then
Outdata = "<div>FromPUNYCODE : Unicode string :<div style=background-color:yellow;color:blue>"
Outdata = Outdata & "<b>" & BA.String & "</b>"'write the UTF representation
Outdata = Outdata & "</div></div>"
Else
Outdata = "<div style=background-color:red;color:yellow>FromPUNYCODE:Punycode string '" & _
Data & "' has no unicode representation.</div>"
End If
FromPUNYCODE = Outdata
End Function
'conversion of a host name (www.anychar.com) to a punycode idn version (www.xn--translated.com)
Function ToIDN(Data)
Dim Outdata, pData, partuni, partpuny
pData = Split(Data, ".")
For Each partuni In pData
BA.String = partuni
partpuny = BA.Punycode
If Right(partpuny,1)<>"-" Then partpuny = "xn--" & partpuny Else partpuny = partuni
Outdata = Outdata & partpuny & "."
Next
Outdata = Left(Outdata, Len(Outdata)-1)
ToIDN = "<div>ToIDN : IDN representation of '" & _
Data & "' string :<div style=background-color:yellow;color:blue><b>" & _
Outdata & "</b></div></div>"
End Function
'conversion of a host name in idn punycode (www.xn--translated.com)
' to an unicode string (www.anychar.com)
Function FromIDN(ByVal Data)
Dim Outdata, pData, partuni, partpuny
Data = LCase(Data)
pData = Split(Data, ".")
For Each partpuny In pData
If Left(partpuny,4)="xn--" Then
BA.Punycode = Mid(partpuny, 5)
partuni = Ba.String
Else
'on error resume next
'BA.Punycode = partpuny
Dim re :set re = New RegExp
re.pattern = "^[-a-zA-Z0-9]+$"
If re.Test(partpuny) Then
partuni = partpuny
Else
partuni = "<font Color=red>error (" & partpuny & ")</Font>"
End If
End If
Outdata = Outdata & partuni & "."
Next
Outdata = Left(Outdata, Len(Outdata)-1)
FromIDN = "<div>FromIDN : Unicode representation of IDN '" & Data & _
"' :<div style=background-color:yellow;color:blue><b>" & _
Outdata & "</b></div></div>"
End Function
</code>
/Thomas