何が何でも Mercurial fixutf8 のログを Windows コンソールで見る 

はまった。
まず普通の状態(cp932)で hg log -v を叩くとこんな感じになる。

> hg log -v
.
.
.
** unknown exception encountered, details follow
** report bug details to http://mercurial.selenic.com/bts/
** or mercurial@selenic.com
** Python 2.6.4 (r264:75708, Oct 26 2009, 08:23:19) [MSC v.1500 32 bit (Intel)]
** Mercurial Distributed SCM (version 1.6)
** Extensions loaded: convert, graphlog, extdiff, hgk, bookmarks, rebase, purge,
 mq, transplant, fixutf8
Traceback (most recent call last):
  File "hg", line 36, in <module>
  File "mercurial\dispatch.pyo", line 16, in run
  File "mercurial\dispatch.pyo", line 34, in dispatch
  File "mercurial\dispatch.pyo", line 54, in _runcatch
  File "mercurial\dispatch.pyo", line 483, in _dispatch
  File "mercurial\dispatch.pyo", line 351, in runcommand
  File "mercurial\dispatch.pyo", line 534, in _runcommand
  File "mercurial\dispatch.pyo", line 488, in checkargs
  File "mercurial\dispatch.pyo", line 481, in <lambda>
  File "mercurial\util.pyo", line 420, in check
  File "mercurial\extensions.pyo", line 116, in wrap
  File "mercurial\util.pyo", line 420, in check
  File "hgext\mq.pyo", line 2791, in mqcommand
  File "mercurial\util.pyo", line 420, in check
  File "mercurial\extensions.pyo", line 116, in wrap
  File "mercurial\util.pyo", line 420, in check
  File "hgext\graphlog.pyo", line 368, in graph
  File "mercurial\util.pyo", line 420, in check
  File "mercurial\commands.pyo", line 2529, in log
  File "mercurial\cmdutil.pyo", line 702, in flush
  File "mercurial\extensions.pyo", line 160, in wrap
  File "C:/DOKODOKO/hg-fixutf8/fixutf8.py", line 140, in f
    win32helper.rawprint(h, ''.join(args))
  File "C:/DOKODOKO/hg-fixutf8\win32helper.py", line 84, in rawprint
    u = s.decode('utf-8')
  File "encodings\utf_8.pyo", line 16, in decode
UnicodeDecodeError: 'utf8' codec can't decode byte 0x82 in position 139: unexpec
ted code byte

どうもログはutf-8だがファイル名がSJISだからのようだ。

で、Windowsコンソールをutf-8にする。
が、これがまた大変。
ぐぐってレジストリをいじったが、結局Vistaでは以下の方法で行くみたいだ。

まずフォントをMSゴジッグにしておく。
で、chcp 65001 をたたく。
で、環境変数 HGENCODING を utf-8にしておくか、hg log --encoding utf-8 -v とオプションに指定する。

出た。

dir で日本語も出る。