マーキュリアル
Linux では、Mercurial はシステムのエンコーディングをそのままエンコードすると思います (間違っていたら訂正してください)。したがって、クロスプラットフォームの互換性のために Linux を UTF-8 に設定するのが最善です。これは、多くの最新のディストリビューションのデフォルトです。
Windows では、Mercurial (Python のバイト文字列処理のため) はシステム コード ページを使用します。これにより、非 ASCII 文字のクロスプラットフォーム相互運用性がほぼ保証されます。
Windows 用の fixutf8 拡張 (Mercurial 2.0 より前)
外部で作成された Windows 用のfixutf8と呼ばれる Mercurial 拡張機能があります。これは、すべての Unicode 文字 (現在のコード ページ外のものも含む) を適切に処理し、Mercurial リポジトリでファイル名を UTF-8 としてエンコードします。したがって、Linux が UTF-8 エンコーディングを使用している限り、Linux との相互運用が可能になります。先週、Windows セットアップで有効にしようとしましたが、インストールでいくつか問題がありました。それ以来、1 つの問題が修正されました。唯一の問題は、バイナリ Mercurial ディストリビューションが Python 2.4 でビルドされているのに対して、fixutf8 では、fixutf8 をロードするために Mercurial を Python 2.5 以降でビルドする必要があることです。これは近いうちに解決されると思います。
Windows 用の Mercurial 2.0 以降
fixutf8 Web ページによると、fixutf8 は Mercurial 2.0 以降と互換性がないようです。今後のソリューションの詳細については、WindowsUTF8Planを参照してください。これがいつ実装されるかはわかりません。