0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PowerShellでパイプやリダイレクトすると文字化けする

Posted at

Windows PowerShellで単にパイプで渡したりリダイレクトでファイルに落としたりすると普通に文字化けする
(どんな仕様よ・・)

ネット文献あさってもいまいち理解し難く解決がよくわからないものばかりなので、端的には
.ps1ファイルを作り以下のように書く。が正解っぽい

端的には・・

mysqlshでSQLを実行し結果をファイルに出力しようとした例

.ps1ファイル
[Console]::OutputEncoding = [Text.Encoding]::UTF8
mysqlsh --sql --uri USER@HOSTIP:3308/DATABASENAME --file=SQLFILE.TXT.txt | Out-File -FilePath OUTPUTFILE.TXT.txt -Encoding utf8

作成し、.ps1ファイルを実行すると正しく出力されます

うまくいかないパターン

コンソール上で [Console]::OutputEncoding = [Text.Encoding]::UTF8 と打っても、次のコマンドにはどうも引き継がれないっぽい。
ので、.ps1ファイル内に記述して実行が必要そう

ちなみに

ちなみにmysqlshは実行するとパスワードを聞かれたあとに標準出力で Save password for ~ と追加で聞かれているので、もう一回Enterを押す必要あり

0
0
0

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?