将不同子目录中的2000个文本文件转换为UTF-8编码(并替换)

时间:2018-12-28 15:43:36

标签: windows powershell encoding cmd

如何在不丢失Windows波兰语字符的情况下将大多数保存在CP1252中的文本文件转换为UTF-8?有没有一种方法可以在Windows命令行中完成并遍历所有这些方法?这些文本文件的相对路径始终为

/*/*/*.txt

如果重要的话。谢谢

1 个答案:

答案 0 :(得分:0)

如果文件使用代码页1252编码,则可能存在波兰语字符无法表示。

代码页1250代码点0x9C是带有急性的拉丁文小写字母S

代码页1252代码点0x9C是拉丁文小码OE

创建一个文件p3.txt,其中包含0x9C。

$windows1250 = [System.Text.Encoding]::GetEncoding('windows-1250')
$windows1252 = [System.Text.Encoding]::GetEncoding('windows-1252')

$path = 'C:/src/t/cpc/p3.txt'

$text = [System.Io.File]::ReadAllText($path, $windows1252)
$text

$text = [System.Io.File]::ReadAllText($path, $windows1250)
$text

产生的输出是:

C:>.\t.ps1
œ
ś

另请参阅Get-Content source codepage?