文字コード、改行コードの確認と変換(nkf, 一括変換)

Linuxを利用している中で、日本語が文字化けしたときの対処方法を紹介します。「ファイルの文字コードを確認、変換する方法」「環境変数LANGを確認、変更する方法」について取り上げます。

文字コード & 改行コードを確認

nkfコマンドで確認

nkf(Network Kanji Filter)コマンド で、ファイルの 文字コード を確認できます。

nkf -g ファイル名
$ nkf -g Vagrantfile 
UTF-8

改行コード も確認したい場合 --guessオプション を利用します。

$ nkf --guess test.txt
Shift_JIS (CRLF)

補足|OSごとの改行コード

OS 改行コード名 改行コード
Linux LF \n
Mac(OSX以降) LF \n
Mac(OS9まで) CR \r
Windows CR + LF \r\n

参考

文字コード & 改行コードを変換

nkfコマンドで変換

# UTF-8に変換して上書き保存
nkf -w --overwrite 対象ファイル名

# UTF-8(LF)に変換して上書き保存
nkf -wd --overwrite 対象ファイル名

# Shift-JISに変換して上書き保存
nkf -s --overwrite 対象ファイル名

# Shift-JIS(CRLF)に変換して上書き保存
nkf -sc --overwrite 対象ファイル名

さらに、一括変換などの実用的な利用例を示します。

# .txtをまとめてUTF-8(LF)に変換して上書き保存
nkf -wd --overwrite *.txt

# カレントディレクトリ配下の全txtファイルの文字コードを一括変換
find . -type f -name "*.txt" -exec nkf -wd --overwrite {} \;

# 別ファイルで保存
nkf -wd 対象ファイル名 > 新規ファイル名

iconvコマンドで変換

iconvコマンドでも、ファイルの文字コードを変換できます。

iconv -f 変換元の文字コード -t 変換後の文字コード 対象ファイル名
$ nkf -g Vagrantfile 
UTF-8
$ 
$ iconv -f UTF-8 -t SHIFT-JIS Vagrantfile > Vagrantfile_sjis
$ 
$ nkf -g Vagrantfile_sjis 
Shift_JIS

環境変数LANGの確認

下記コマンドで環境変数LANGを確認できます。

$ env | grep LANG
LANG=en_US.UTF-8

環境変数LANGの変更

envで変更

$ env LANG="文字コード" コマンド

実行するコマンドにのみ、環境変数を一時的に設定できます。

※文字コード

  • 日本語UTF-8であれば ja_JP.UTF-8 と設定します。
  • SJISであれば ja_JP.SJIS と設定します。

exportで変更

$ export LANG="文字コード"

ログイン中は変更されたままになります。ログオフすると元に戻ります。

デフォルト値を変更

ログオフしても元に戻らないようにするには、設定ファイル( /etc/sysconfig/i18n )を修正します。

$ vi /etc/sysconfig/i18n
【エンジニア向け】仕事を見つける方法

転職する

転職エージェントを活用する

転職サイトの場合、自身でサイト上から企業を探す必要があります。 一方「レバテックキャリア」 などの転職エージェントの場合、エージェントが企業を紹介してくれます。エージェントが間に入ることにより、日程調整や、条件交渉などもサポートしてくれます。

転職ドラフトを活用する

転職ドラフト」は、 企業がITエンジニアをドラフトという形で指名するサービスです。年収が最初に提示されるなどのメリットがあります。 ただ、初回登録時にレジュメ作成が必要で、すでにエンジニア経験が豊富にあるエンジニア向けのサービスかと思います。 レジュメ作成が手間ですが、自身のキャリアを見直す機会になり、他の仕事探しにも役立つはずです。

エンジニア転職保証のあるスクールを活用する

ある程度、開発経験のあるかたであれば、独学で必要なスキルを身につけることができるはずです。ただ、別業種からエンジニアに転職したい場合など、1から独学で学ぶのはハードルが高いです。そういった方は、スクールの活用を検討しても良いと思います。 「TechAcademy」は、エンジニア転職保証コースを提供しています。給付金制度の対象講座として認定されているため、金銭面の負担も抑えることができます。

フリーランスとして活動する

レバテックフリーランス」「ITプロパートナーズ」「ギークスジョブ」は、フリーランスエージェントサービスです。 エージェントによって、支払いサイトなど細かい違いはありますが、まずは良い案件を見つけることが重要です。 登録自体は無料なので、複数エージェントに登録して、より多くの案件を紹介してもらうのがおすすめです。

logo
わくわくBank.
技術系の記事を中心に、役に立つと思ったこと、整理したい情報などを掲載しています。