Преобразовать кодировку в ANSI - PullRequest
0 голосов
/ 13 февраля 2020

Я пытался преобразовать текстовый файл с кодировкой UTF8 в кодировку ANSI. Я использую один скрипт, который я нашел на этой платформе. Ниже приведен сценарий:

' Usage: 
' EncodeFile strInFile, "UTF-8", strOutFile, "Windows-1254", 2
Sub EncodeFile(strInputFile, strInputCharset, strOutputFile, strOutputCharset, intOverwriteMode)

'5th parameter may take the following values:
'Const adSaveCreateOverWrite = 2
'Const adSaveCreateNotExist = 1

Const adReadLine = -2
Const adTypeBinary = 1
Const adTypeText = 2
Const adWriteLine = 1

Set objInputStream = CreateObject("ADODB.Stream")
Set objOutputStream = CreateObject("ADODB.Stream")

With objInputStream
  .Open
  .Type = adTypeBinary
  .LoadFromFile strInputFile
  .Type = adTypeText
  .Charset = strInputCharset
  objOutputStream.Open
  objOutputStream.Charset = strOutputCharset
  Do While .EOS <> True
     strText = .ReadText(adReadLine)
     objOutputStream.WriteText strText, adWriteLine
  Loop
  .Close
End With
objOutputStream.SaveToFile strOutputFile, intOverwriteMode
objOutputStream.Close
End Sub

Обратите внимание, что при запуске cmd, вызывающего этот сценарий, я получаю новый текстовый файл размером 0 КБ, и кодировка изменяется на ANSI. Но вся информация в текстовом файле отсутствует.

Как преобразовать кодировку, сохраняя данные в текстовом файле?

Кто-нибудь, пожалуйста, помогите.

@Echo off

SET CHEMINDAT = C:\Desktop\convertry\Scripts\

echo %DATE% %TIME% Debut de traitement.
for %%a in (C:\Desktop\convertry\Scripts\*.txt) do (
    cscript //NoLogo C:\Desktop\convertry\Scripts\unix2dos_3.vbs <%CHEMINDAT%%%a >>%%a.txt
    del %%a
)
pause
exit /b 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...