システムと異なる文字コード(たとえばShift-JIS)でエンコードされたファイルのdiffにおける文字化けを解消する
1. 拡張子で文字コード変換を適用するファイルを指定
.gitattributes
に属性を記述する
1.1. 属性指定の例
1 2 |
*.c diff=sjis *.h diff=sjis |
システムと異なる文字コード(たとえばShift-JIS)でエンコードされたファイルのdiffにおける文字化けを解消する
.gitattributes
に属性を記述する
1 2 |
*.c diff=sjis *.h diff=sjis |
Unicodeは濁音(『が』や『ば』など)や半濁音(『パ』や『ピ』)を1文字として扱います。一方で濁点『 ゙ 』(U+3099) と半濁点『 ゚ 』 (U+309A) も定義しています。この結果、Unicodeでは『が』を『か』+ 『 ゙ 』の 合成文字 として表現することもできます。
subversionやscpなど NFC と NFD の差異を考慮していないツールを使うと、Windowsで保存した濁音/半濁音を含むファイル名が文字化けします。場合によってはコマンドが失敗します。
CLI(コマンドライン・インターフェース)でURLエンコード/デコードする方法
続きを読む
1 |
$ find . -name '*.c' | xargs nkf --overwrite -w -Lu |
-w
: UTF-8-w8
: UTF-8-s
: Shift_JIS-e
: EUC-j
: JIS(ISO-2022-JP)-Lu
: UNIX形式(LF)に変換-Lw
: Win形式(CRLF)に変換-Lm
: 旧Mac形式(CR)に変換-f ENCODING, --from-code=ENCODING
-t ENCODING, --to-code=ENCODING
SJIS | Shift JIS |
CP932 | Microsoft拡張 Shift JIS |
X0208 | JIS |
EUCJP | EUC |
-l, --list
1 2 3 4 5 6 7 8 9 10 11 |
ANSI_X3.4-1968 ANSI_X3.4-1986 ASCII CP367 IBM367 ISO-IR-6 ISO646-US ISO_646.IRV:1991 US US-ASCII CSASCII UTF-8 UTF8 UTF-8-MAC UTF8-MAC *** 中略 *** UTF-16 UTF-16BE UTF-16LE UTF-32 UTF-32BE UTF-32LE *** 後略 *** |
Microsoft Code Page 932
Microsoft社が Shift-JIS (JIS X 0213:2004) を独自拡張した文字コード
NFD (Normalization Form Canonical Decompression)
Android StudioでShift-JISのソースコードが文字化けするのを解消する
Android Studio => Preferences…
Android Studio を再起動する。
1 2 3 4 5 6 |
<?xml version="1.0" encoding="UTF-8"?> <project version="4"> <component name="Encoding"> <file url="PROJECT" charset="x-SJIS_0213" /> </component> </project> |