このフォーラムで、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)
}
}