Powershell爆発しろ!

WindowsでもMercurialを使うようになって,今はシェルにPowershellを使ってるんだけど嵌った.hg diffの出力がUTF-8なんだけど,文字化けが直らない.ここを参考

$OutputEncoding = New-Object System.Text.UTF8Encoding

とやって,ちゃんと切り替わっているのは確認したのだけど文字化けする.PowershellのI/O周りがどうなっているのか知らないけど,リダイレクトだと文字化けが2回起きてるようで,Out-Fileでエンコーディングを指定して,やっといつもの文字化けでファイルに出力される.ようはどこか出力以外にも問題があるっぽい.
結局の所文字化けが直らないので,Windowsとかではやはり色々面倒っぽい(cmd.exeだとリダイレクトでは正常).Powershellってターミナルも兼ねたてたりして,コンソールを変えるだけだと駄目なのだろうか.使っている人はいそうなんだけど,全然情報がない…