1

このフォーラムで、BOM なしで UTF-8 に変換する優れたソリューションをいくつか見てきました。powershellなどを再帰的に使用して、一連のファイルをそのまま変換できる必要があります。

UTF-8 ドキュメントを取得して UTF-8 に変換すると、文字が二重にエンコードされます。この動作を防止したり、ファイルが既に BOM なしの UTF-8 であるかどうかを検出したりする方法はありますか?

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

1 に答える 1

1

次のエンコーディングを指定できますGet-Content

Get-Content $i.FullName -Encoding UTF8
于 2012-11-05T14:34:33.800 に答える