2016-11-30 4 views
1

vbs를 사용하여 ANSI 인코딩을 사용하여 텍스트 파일을 만들어야합니다.vbscript를 사용하여 ANSI 텍스트 파일 만들기

이 코드를 사용하여 텍스트를 작성하지 않고 그냥 그것을 만드는 경우 ...

Set objFSO = CreateObject("Scripting.FileSystemObject") 
Set ObjFileTxt = objFSO.objFSO.CreateTextFile("filename.txt", True, False) 
Set ObjFileTxt = nothing 
Set objFSO = nothing 

은 ... 나는 ANSI 텍스트 파일을 얻을 수 있지만 예를 들어, 일부 텍스트를 작성하려고하면 ...

Set objFSO = CreateObject("Scripting.FileSystemObject") 
Set ObjFileTxt = objFSO.CreateTextFile("filename.txt", True, False) 
ObjFileTxt.Write "ok" 
Set ObjFileTxt = nothing 
Set objFSO = nothing 

... 나는 UTF8 텍스트 파일을 얻습니다.

어떤 도움이 필요합니까?

+2

파일이 UTF8이라고 어떻게 결정 했습니까? –

+0

안녕하세요, 메모장 ++로 파일을 열었습니다. 형식을 확인했습니다. –

+1

이상하게도 솔직히 어떻게 메모장에서 확인하고 있습니까? 그것을 확인하기 위해 16 진수를 보았습니까? – Lankymart

답변

2

게시 한 코드가 UTF8로 인코딩 된 출력 파일을 만드는 것은 불가능합니다. CreateTextFile 메서드는 ANSI (windows-1252) 및 유니 코드 (little endian UTF-16) 인코딩 만 지원합니다. VBScript로 UTF8 인코딩 파일을 만들 수

유일한 방법은 ADODB.Stream 객체입니다

Set stream = CreateObject("ADODB.Stream") 
stream.Open 
stream.Type  = 2 'text 
stream.Position = 0 
stream.Charset = "utf-8" 
stream.WriteText "some text" 
stream.SaveToFile "C:\path\to\your.txt", 2 
stream.Close 

또는 (BOM을 포함)의 개별 바이트를 기록.

+0

오케이, 알겠습니다. 감사 –