ラボ > OS:Linux

linuxでテキストファイルの文字コード変換(file、iconv)

「nkf」というコマンドでもいけるけどインストールされている必要あり。

作成日:2018-11-09, 更新日:2023-04-06

基本

・文字コードを調べる
・調べた文字コードを元に変換をかける

文字コードの確認

# file -i ファイルのPATH

文字コードの変換

# iconv -f 元の文字コード -t 変換後の文字コード ファイルのPATH > 新しいファイルのPATH

「hoge.txt」を「hoge_utf8.txt」にする。

▼ひとまず文字コードを調べる

# file -i hoge.txt

※「charset=unknown-8bit」とか出てきたら・・・分かんない。多分、日本人が作ったファイルなら「SHIFT_JIS」じゃないかな。

▼文字コードを変換

# iconv -f SHIFT_JIS -t UTF-8 hoge.txt > hoge_utf8.txt

▼vi/vimでも変換可能らしい。
・:set fileencoding=文字コード
・:set fenc=文字コード