コマンドプロンプト上のTracAdminで全角を使う

TracAdminをWindowsのコンソールで起動し、マイルストーン等に全角文字を入力した場合に、Tracで見ると文字化けする。これは、TracAdminはUnicodeを求めているのに、コマンドプロンプトの入出力がShift-JISであるため(たぶん)。

TradAdminを改造して、Shift-JISの入出力を行う。

対象バージョン

ServerOSWindows2000Proインストール済み前提
Subversion1.2.0インストール済み前提
Apache2.0.54インストール済み前提
Trac0.8.4インストール済み前提
Python2.3.5インストール済み前提

1.ファイル"Scripts/trac-admin"を名前を変えて保存

直接TracAdminを変えてしまうとまずいので、以下のように複製する。

C:/Python23/Scripts/trac-admin

C:/Python23/Scripts/trac-admin-sjis

2.ファイル"Scripts/trac-admin-sjis"を編集

テキストエディタで編集する。class TracAdmin(cmd.Cmd):を探し、
以下のようにprecmdを追加

class TracAdmin(cmd.Cmd):

class TracAdmin(cmd.Cmd):
    def precmd(self,line):
         line = unicode(str(line),'mbcs').encode('utf-8')
         return line

class TracAdmin配下のdef print_listingを探し、print("%%-%ds%s"…の行を編集

print ("%%-%ds%s" % (colw[cnum], sp)) % (unicode(str(ldata[rnum][cnum]),'utf-8').encode('mbcs') or ''),
2005年07月31日(日) 19:23:19 Modified by weekbuild




スマートフォン版で見る