Převod ANSI stringu do UTF-8 ve VBScriptu (AnsiToUTF8)

V IIS 5.0 nelze použít Response.CodePage=65001 pro převod výstupních dat do UTF-8 (narozdíl od IIS 6.0). Můžeme si však pomoci fukncí s využitím ADODB.Stream:

function AnsiToUTF8(Data)
set S=CreateObject("ADODB.Stream")
S.type=2 'adTypeText
S.charset="utf-8"
S.Open
S.writetext Data

S.Position=0 'před změnou typu streamu musíme pozici nastavit na začátek

S.type=1 'adBinary

S.Position=3 'první tři bajty nepatří k textu (identifikují kódování UTF-8)

AnsiToUTF8=BinaryToString(S.Read)

s.close
set s=nothing

end function

* výpis funkce BinaryToString je zde

Štítky: , , ,

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

*