Конвертер нескольких файлов ANSI в utf-8 - PullRequest
0 голосов
/ 02 марта 2011

В какой программе я могу конвертировать несколько файлов из ANSI в UTF-8?

Ответы [ 2 ]

1 голос
/ 05 марта 2011

Это можно сделать с помощью сценария Windows:

var indir = "in";
var outdir = "out";
function ansiToUtf8(fin, fout) {
    var ansi = WScript.CreateObject("ADODB.Stream");
    ansi.Open();
    ansi.Charset = "x-ansi";
    ansi.LoadFromFile(fin);
    var utf8 = WScript.CreateObject("ADODB.Stream");
    utf8.Open();
    utf8.Charset = "UTF-8";
    utf8.WriteText(ansi.ReadText());
    utf8.SaveToFile(fout, 2 /*adSaveCreateOverWrite*/);
    ansi.Close();
    utf8.Close();
}
var fso = WScript.CreateObject("Scripting.FileSystemObject");
var folder = fso.GetFolder(indir);
var fc = new Enumerator(folder.files);
for (; !fc.atEnd(); fc.moveNext()) {
    var file = fc.item();
    ansiToUtf8(indir+"\\"+file.name, outdir+"\\"+file.name);
}

Этот файл ansi2utf8.js можно запустить из командной строки следующим образом:

cscript /Nologo ansi2utf8.js

Сценарий ожидает в и out каталогах, но его можно изменить, чтобы сделать что-то более гибкое.

ansi2utf8\ansi2utf8.js
ansi2utf8\in
ansi2utf8\out
ansi2utf8\in\bar.txt
ansi2utf8\in\foo.txt
1 голос
/ 02 марта 2011

В Unix используйте утилиту iconv.

...