Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Как создать файл в кодировке UTF-8 с помощью VBScript? (http://forum.oszone.net/showthread.php?t=207818)

Zeron 29-05-2011 20:43 1684723

Как создать файл в кодировке UTF-8 с помощью VBScript?
 
Здравствуйте, вот так вот создаётся текстовый файлик на языке VBS:

Код:

Dim gg, gm
Set gg = CreateObject("Scripting.FileSystemObject")
Set gm = gg.CreateTextFile("text.txt", True)
gm.WriteLine("текст текст текст")
gm.WriteLine("текст текст текст")
gm.WriteLine("текст текст текст")
gm.Close

Подскажите, что нужно сделать чтобы этот файлик создавался в кодировке UTF-8?




Я нашёл скрипт который изменяет кодировку UTF-8 на 1251, но мне то нужно наоборот. А мозгов изменить скрипт не хватает((
Вот и он:
Код:

FileIn  = "in.txt"
FileOut = "out.txt"

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(FileOut, 2, vbTrue)
strText = FileDecode(FileIn, "utf-8")
objFile.WriteLine(strText)

Function FileDecode (strFile, strCP)
  Set Stream = CreateObject("ADODB.Stream")
  With Stream
    .Type = 2
    .Mode = 3
    .CharSet = strCP
    .Open
    .LoadFromFile(strFile)
  End With

  FileDecode = Stream.Readtext()
  Stream.Close
End Function


Прошу помочь мне. Очень нужно.

Zeron 29-05-2011 22:30 1684779

Нашел решение:

Код:

Set st = CreateObject("ADODB.Stream")
st.Type=2
st.Open
st.Charset = "UTF-8"
st.WriteText("текст")
st.SaveToFile("1234.txt")


Но как оказалось мне нужен файл именно без BOM, а он создаётся с ним.
Помогите решить проблему.

amel27 30-05-2011 03:50 1684859

Код:

Set utf = CreateObject("ADODB.Stream")
utf.Type=2
utf.Charset = "UTF-8"
utf.Open
utf.WriteText "Это текст"
utf.Position=3

Set bin = CreateObject("ADODB.Stream")
bin.Type=1
bin.Open

utf.CopyTo bin
bin.SaveToFile("1234.txt")



Время: 17:55.

Время: 17:55.
© OSzone.net 2001-