Home > Trac > Tracの文字コード処理

Tracの文字コード処理

  • 2006-12-19 (Tue) 19:56
  • Trac

Tracを動かしはじめたので、文字コード処理の現状を確認した。バージョンはtrac-0.10-ja-3。さくらインターネットの共有サーバ(スタンダード)、OSはFreeBSD。

対応状況は添付ドキュメント(TracJa)にある通り。0.10では内部コードはUnicode、データベースへの格納がUTF-8になる。添付ファイルとリポジトリのファイルはテキストの場合、MIME ViewerがHTML変換して表示する。変換の際の文字コード判定は以下のルールで行われる。

  • リポジトリ表示でsvn:mime-typeにcharsetが含まれていれば、charsetで指定された文字コード。
  • ファイルにBOMが含まれていれば、適切なUTF。
  • svn:mime-typeやBOMによる判定が行われなければ、trac.iniのdefault_charsetに従う。

svn:mime-typeは、コミットの際に手動で設定する。auto-propsではcharsetを含めた設定を行うことができない(デリミタとしてセミコロンが使われているため。Subversion1.6で対応されるかもしれない。)。再帰的な設定は、同一MIMEタイプのファイルで文字コードが混在しているリポジトリでは利用しにくい。

BOMについて、UTF-8ではBOMを付加すると(特にスクリプト等で)問題が生じる可能性があるため、いわゆるUTF-8Nを利用したほうがよく、BOMを文字コード判定に利用するのは(限定的な環境以外では)望ましくない。

default_charsetの初期設定はiso-8859-15なので、表示したい文字コードに変更すること。Shift_JIS、EUC-JP、UTF-8など。複数指定はできない。

Tracは0.10で文字コードの処理方法が変更されている。 BOMを使わなければ添付ファイルでは複数の文字コードを判定表示させられなかった。

添付ファイル名は、attachmentディレクトリへの格納時点でUTF-8にエンコードされる。Subversionの場合はsvnがファイル名のUTF変換を行うらしい。日本語ファイル名は利用可能。

Home > Trac > Tracの文字コード処理

Search
Feeds
Meta

Page Top