使用しているWinMergeのバージョンによってはUTF-8のファイルを比較する場合は基本的にS-JISで表示するため、日本語の箇所が文字化けして表示される場合があります。
そういう場合はデフォルトの文字コードを変更する事で解消する事が出来ます。
環境
- WinMerge Version 2.14.0.37+-jp-37
文字コードの設定手順
-
- 今回はデフォルトコードページをUTF-8に変更する手順をご紹介します。
- メニューから「編集」⇒「設定」を選択します。
- オプション画面で「コードページ」を選択し、デフォルトコードページで「カスタムコードページ」を選択し、「65001 – Unicode(UTF-8)」を選択して「OK」ボタンを選択します。
補足
- 上記で指定した「65001」というのは文字コード番号を表します。
一般的に使用されるコードは以下の通りです。
文字コード番号 文字コード 932 SHIFT-JIS 20932 EUC-JP 65001 UTF-8
※文字コード番号の詳細については下記ページが参考になります。
Microsoft Code Page Identifiers -
UTF-8のBOM有無
UTF-8には「BOMあり/なし」の2種類があり、環境やソフトによってはBOM付きファイルで文字化けや差分検出の誤認が発生する場合があります。必要に応じて保存形式を確認してください。 -
改行コードの違い
Windows(CRLF)、Linux(LF)、古いMac(CR)などで改行コードが異なるため、WinMerge上では不要な差分として表示されることがあります。設定で「改行コードの違いを無視」を有効にすると便利です。 -
フォントの問題
日本語環境でもフォントによってはUnicodeの一部が表示できず「□」に化ける場合があります。異体字や特殊記号が含まれる場合は注意してください。 -
文字コードの見極め
比較対象のファイルが本当にUTF-8かSJISかなどを確認することが重要です。エディタ(VS Codeや秀丸など)で文字コードを明示的に確認すると確実です。 -
バージョン差異
WinMergeのバージョンによって設定画面やコードページ指定方法が異なることがあります。環境に合わせた確認をおすすめします。 -
代替ツールの活用
WinMergeで対応が難しい場合、Beyond Compare、Meld、kdiff3など他の比較ツールを利用するのも有効です。特に大規模な差分確認やUnicode依存の環境では効果的です。