2

Я хотел бы преобразовать () ANSI-кодированные текстовые файлы (Win 1252) в UTF8 без спецификации, в идеале через вызов командной строки. Мой вариант использования: я экспортирую файлы .tex из Stata, которые хочу скомпилировать с помощью LuaLaTeX. Stata, по-видимому, не поддерживает UTF8, LuaLaTeX ничего не поддерживает, но, таким образом, подавляет некоторые символы, не входящие в ASCII. Внутри Stata я могу вызывать команды оболочки, поэтому было бы неплохо, если бы я мог выполнять преобразование на лету из моих скриптов Stata.

Поэтому в идеале я хотел бы иметь возможность вызывать такие команды, как, например, convert2UTF.cmd file.tex . Другим хорошим вариантом будет некоторое пакетное преобразование файлов в папке (например, преобразование всех файлов с помощью * stata.tex). Кроме того, было бы замечательно, если бы решение работало с инструментами Windows по умолчанию (минимум Win 7, даже лучше XP).

Подобные вопросы были заданы здесь ранее. Подход Cygwin/GnuWin32 проблематичен, поскольку я хотел бы иметь возможность конвертировать без установки дополнительного программного обеспечения на машину. Подход PowerShell выглядит многообещающе, но очевидно out-file -en utf8 сохраняет файл с BOM.

Другой подход PowerShell, который, кажется, конвертировать в UTF8 без спецификации

foreach($i in ls -recurse -filter "*.*") {
    if (
        $i.Extension.ToLower() -eq ".tex"
    ) {
        $MyFile = Get-Content $i.fullname 
        [System.IO.File]::WriteAllLines($i.fullname, $MyFile)
    }
}

К сожалению, я не могу понять, как его запустить. Я сохранил его как скрипт powershell в той же папке, что и файлы .tex, но при запуске он не касается их. Так что, видимо, чего-то не хватает. Излишне говорить, что мои знания PowerShell близки к нулю. Кроме того, я хотел бы передать имя файла в качестве аргумента при вызове его из Stata.

1 ответ1

-1

Я думаю, что вы можете попробовать использовать VBS скрипт и объект ADODB.Stream .

Поиск Google: "VBS конвертировать файл ANSI в UTF-8"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .