2015年7月22日水曜日

SourceTreeのDiffがときどき文字化けするときの対処方法

SourceTreeを使っていてUTF-8で管理しているのに時々文字化けすることがあります。

ファイル内の日本語を増やせば解決することは、なんとなく感じていたのですが、以下の記事を読んで理解が深まりました。(SourceTree 1.6.17で確認)


SourceTreeの文字コードの判断

BOMがある場合は、BOMに従った文字コードを採用
  ↓
 BOMなし
  ↓
ファイルの先頭512バイトからSorceTreeが自動判断(誤検知される可能性あり)
  ↓
 自動判断できない
  ↓
Tools > Options > Languageで指定されている文字コードを採用


文字化け対策

  • BOMを付ける。
  • ファイルの先頭512バイトの日本語を増やす。(ソースコードのコメントなどで)

ReleaseNote

SourceTree 1.1.0
We now support non-UTF8 extended characters via codepages. Auto-detect will often work but you should set your preferred fallback codepage in Tools > Options.

UTF8以外のコードページをサポート
自動検出するが、[ツール]> [オプション]で代替えコードページを指定できる。


SourceTree 1.1.1
Fix several cases of UTF8 and other extended characters not being rendered in the diff correctly.

UTF8やその他の文字コードでDiffが正しく表示できない問題をいくつか修正した。

SourceTree 1.2.3
Fix diff issues with a text sequence like '+99-' which triggers a false-positive for UTF-7 encoding (SRCTREEWIN-1053)

『+99-』のような文字列がUTF-7エンコーディングに誤検知される問題を修正した。



 参考

SourceTree Windows版で文字化けが起こる 問題の解決
http://d.hatena.ne.jp/iww/20150615/sourcetree


0 件のコメント:

コメントを投稿