LoginSignup
0
0

【PowerShell】Get-Contentで読んでforeachでWrite-Outputするときに文字化けする対策

Last updated at Posted at 2021-01-07

#環境
確認したのは以下の環境。
・Windows10
・PowerShell v5.1

#やりたいこと
テキストファイルの内容を読み込んで、そのままテキストファイルに書き出し。(という簡単な場合を考える)

#問題点
foreach($line Get-Content <filename>)の形で読み込んで、Write-Outすると(ここがWrite-Hostでも同様)文字化けする。(たとえば、元ファイルの文字コードがUTF-8の場合になる)

#解決策
Get-Contentに、オプションで-Encoding <文字コード>を付けてやる。

#例(元ファイルがUTF-8の場合)
以下で文字化け回避。

foreach($line Get-Content -Encoding UTF8 <filename>) {
  Write-Out $line | Out-File <output filename>
}
0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0