0

バージョン管理に cvs と bzr の両方を使用しており、両方を PowerShell コンソールで実行することを好みます。しかし、cvs を実行すると、コンソールのエンコーディングが変更され、bzr がエラー メッセージをスローします。PSProfile で $OutputEncoding を UTF-8 に設定してみましたが、bzr は満足しているように見えます... cvs を実行するまで、bzr は再び文句を言い始めます - $OutputEncoding は同じなのに!?

2 つを同じコンソールで動作させる方法はありますか?

Windows PowerShell
Copyright (C) 2009 Microsoft Corporation. All rights reserved.


Visual Studio 2010 Command Prompt variables set.
PS W:\> [Console]::OutputEncoding.EncodingName
Western European (DOS)
PS W:\> bzr st
bzr: ERROR: Not a branch: "W:/".
PS W:\> [Console]::OutputEncoding.EncodingName
Western European (DOS)
PS W:\> cvs up
cvs update: No CVSROOT specified!  Please use the `-d' option
cvs [update aborted]: or set the CVSROOT environment variable.
PS W:\> [Console]::OutputEncoding.EncodingName
Unicode (UTF-8)
PS W:\> bzr st
bzr: warning: unknown terminal encoding cp65001.
  Using encoding cp1252 instead.
bzr: warning: unknown terminal encoding cp65001.
  Using encoding cp1252 instead.
bzr: ERROR: Not a branch: "W:/".
PS W:\>

PSProfile で OutputEncoding を UTF8 に強制する例。

Windows PowerShell
Copyright (C) 2009 Microsoft Corporation. All rights reserved.


Visual Studio 2010 Command Prompt variables set.
PS W:\> $OutputEncoding


BodyName          : utf-8
EncodingName      : Unicode (UTF-8)
HeaderName        : utf-8
WebName           : utf-8
WindowsCodePage   : 1200
IsBrowserDisplay  : True
IsBrowserSave     : True
IsMailNewsDisplay : True
IsMailNewsSave    : True
IsSingleByte      : False
EncoderFallback   : System.Text.EncoderReplacementFallback
DecoderFallback   : System.Text.DecoderReplacementFallback
IsReadOnly        : True
CodePage          : 65001



PS W:\> bzr st
bzr: ERROR: Not a branch: "W:/".
PS W:\> cvs up
cvs update: No CVSROOT specified!  Please use the `-d' option
cvs [update aborted]: or set the CVSROOT environment variable.
PS W:\> $OutputEncoding


BodyName          : utf-8
EncodingName      : Unicode (UTF-8)
HeaderName        : utf-8
WebName           : utf-8
WindowsCodePage   : 1200
IsBrowserDisplay  : True
IsBrowserSave     : True
IsMailNewsDisplay : True
IsMailNewsSave    : True
IsSingleByte      : False
EncoderFallback   : System.Text.EncoderReplacementFallback
DecoderFallback   : System.Text.DecoderReplacementFallback
IsReadOnly        : True
CodePage          : 65001



PS W:\> bzr st
bzr: warning: unknown terminal encoding cp65001.
  Using encoding cp1252 instead.
bzr: warning: unknown terminal encoding cp65001.
  Using encoding cp1252 instead.
bzr: ERROR: Not a branch: "W:/".
PS W:\>
4

1 に答える 1

1

1 つの解決策は、bazaar.conf で出力エンコードオプションを提供することです。

cp65001 は python 3.3 に追加されました (バグ。) bzr が py3k に移植された場合、これは修正されるでしょう (期待しています...)

于 2012-09-20T10:43:39.150 に答える