У меня есть несколько текстовых файлов с разными кодировками.Некоторые из них UTF-8
, а некоторые другие windows-1251
в кодировке.Я попытался выполнить следующий рекурсивный сценарий для кодирования всего этого в UTF-8
.
Get-ChildItem *.nfo -Recurse | ForEach-Object {
$content = $_ | Get-Content
Set-Content -PassThru $_.Fullname $content -Encoding UTF8 -Force}
. После этого я не могу использовать файлы в своей программе Java, потому что кодировка UTF-8 также имеет неправильную кодировку, я не моглаВерни оригинальный текст.В случае файлов, закодированных в Windows-1251, я получаю пустой вывод, как в случае оригинальных файлов.Таким образом, он делает поврежденными уже файлы в кодировке UTF-8.
Я нашел другое решение, iconv
, но, как я вижу, ему нужно текущее кодирование в качестве параметра.
$ iconv options -f from-encoding -t to-encoding inputfile(s) -o outputfile
Файлы, закодированные по-разномусмешано в структуре папок, поэтому файлы должны оставаться по одному пути.
Система использует кодовую страницу 852. Существующие файлы UTF-8 не имеют спецификации.