Windows環境BashスクリプトでText処理したら文字化けする対策
Windows環境でとあるスクリプトで
テキストの文字列を処理していたら、一部の文字が文字化けした。
全文字化けでなくて、一部だけの文字化け。
原因を調べていたら、SJISの文字コードを使ってるテキストが文字化けをしているっぽい。
今の世の中的に、基本はUTF-8で扱うのが文字化けしないためにはよい。
SJIS UTF-8の違いのお勉強
https://www.homepage-tukuri.com/shosinshanyuumon/entry70.html
SJIS特徴
・消費バイトが少ない
・ガラケーで読めるコード
・使いようによって文字化けする
UTF-8特徴
・文字範囲が広く、文字化けしない。
・容量がSJISの約1.5倍
・ガラケーの表示には非対応
エディタによってはDefaultがSJISだったりするので、設定を弄るか、
SJISのテキストをUTF-8に変換したい。
大量のSJISテキストをいちいち開いてUTF-8にして保存しなおすのは正直やっていられないので
一括で変換できる方法ってないのか調べた。
FCCheckerがよさそう
https://webkan.hateblo.jp/entry/20160922/p1
使い方はこちらを参照
FCCheckerにSJISのテキストをまとめてドラッグ&ドロップして
UTF-8を選んで、”元のファイルを置換”を選択し、変換を実行
これで選択したすべてのSJISテキストがUTF-8に変換された。(少し重くなる)