トップ «前の日記(2009-03-31) 最新 次の日記(2009-04-17)» 編集

tito Memo

2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|
2010|02|04|05|06|08|
2011|01|02|03|08|10|12|
2012|01|
2013|03|04|

個人的なメモを記していくためのページです。


2009-04-08

* eclipse上でファイルの変更点を"比較"した場合文字コードの影響で変更点を見逃すことがある

"変更点を見逃す"というのは、別の言い方だとeclipseのエディタで編集して文字化けを起こしても気が付かない可能性があるということです。あるファイルをsubversionのレポジトリから取ってきて次のような作業をしたとします。

  1. 半角カナやlatin系の8ビットなファイルをチェックアウトする。(r1)
  2. eclipseで修正する。
  3. commitする。(r2)

このときeclipseでヒストリーpaneで r1とr2を"比較"した場合に実際には変更がされている行が相違点として表示されない。"パッチの作成"でsvn diffを見ると8ビット文字のところが化けていることに気付いた。

対象としたファイルはCのソースコードで殆ど7bitASCIIなんだけどデバッグ用のprintf()でちょっとだけ罫線文字が使われていた。

原因はeclipseの文字コードの設定がutf-8だったためで、8859-1やShift_JISなファイルを扱うときはそれに応じて正しく設定すれば良い。メニューの[ウィンドウ]→[設定]のワークスペースの「テキストファイルエンコーディング(T)」が設定場所。

8ビット文字がわずかなファイルだったのでUTF-8の設定でも見た目は殆ど正常に開いて編集できてしまうのが罠だ。

使ったeclipseのバージョン
  • eclipse 3.4.2(pleiades-all-in-one-java-jre_20090316.zip)

diffの出力も化けてるけど(ペイントソフトに貼り付けたときのフォントが欧文フォントだったので修正 2009-04-09)一行目に半角で"ハンカク −”と言う内容。eclipseで1行目を編集しなくてもセーブしたときに変化してしまう。

[]

このページ内のリンクがクリックされたことを知るのにjavascriptを使用しています。javascriptを無効にするとあなたがどのリンクをクリックしたか通知されなくなります。javascriptを無効にしてもこのページの閲覧に問題はありません。javascriptを無効にするページもご覧ください。
クラシック・ドーム クラシック・ドームソフト・ドーム ソフト・ドームソフト・リム ソフト・リム
キャップ10個入り。3種類の詰め合わせ(3種x2=6個入り)の、トラックポイント・キャップ・コレクションはIBMダイレクトで945円(税込み)