MENU

[Mac] ファイルの文字コードを確認・変換する

この記事はIT女子のお気に入りフォルダで2016年8月に公開していた記事を移植したものです。nkfのバージョンは執筆時点のものに見直しました。

つい先日、Shift_JISのcsvファイルじゃないとアップロードできない件があり、文字コードの変換を余儀なくされたので忘れないようにメモ。

文字コードの確認・変換にはnkfコマンドが便利です。nfkコマンドはHomebrewでインストールできます。

$ brew install nkf

# バージョン確認をしておきます
# 2025年6月26日現在で確認しました
$ nkf --version
Network Kanji Filter Version 2.1.5 (2018-12-15) 
Copyright (C) 1987, FUJITSU LTD. (I.Ichikawa).
Copyright (C) 1996-2018, The nkf Project.
目次

文字コードを確認する

$ nkf -g <ファイル名>

# または
$ nkf --guess <ファイル名>

文字コードの確認はfileコマンドでも確認できます。

$ file --mime <ファイル名>

fileコマンドの場合は、ややこしいけど unknown-8bit と出てきたらそれは Shift-JIS のことだそうです。

文字コードを変換する

nkfコマンドの使い方は、

$ nkf <オプション> <ファイル> [> 出力ファイル] 

よく使うオプション

-w : UTF8コードを出力(BOM無し)
-e : EUCコードを出力
-s : Shift-JISコードを出力
-j : JISコード(ISO-2022-JP)を出力
-Lu : unix改行形式(LF)に変換
-Lw : windows改行形式(CRLF)に変換
-Lm : mac改行形式(CR)に変換
-g(--guess) : 文字コード自動判別の結果を表示
--overwrite : 元のファイルを上書きする
--version : バージョン情報を表示

使用例をいくつか

# UTF-8に変換(上書き)
$ nkf -w --overwrite <ファイル>

# Shift-JISに変換(上書き)
$ nkf -s --overwrite <ファイル>

# EUC-JPに変換(上書き)
$ nkf -e --overwrite <ファイル>

# JIS(ISO-2022-JP)に変換(上書き)
$ nkf -j --overwrite <ファイル>

# unix改行形式(LF)に変換(上書き)
$ nkf -Lu --overwrite <ファイル>

# windows改行形式(CRLF)に変換(上書き)
$ nkf -Lw --overwrite <ファイル>

# mac改行形式(CR)に変換(上書き)
$ nkf -Lm --overwrite <ファイル>

複数ファイルをまとめて変換

ディレクトリ内のファイルをまとめて変換できます。

例えば、ディレクトリ内にある拡張子htmlのすべてのファイルを文字コード=UTF-8、改行コード=LFに変換する

$ nkf -wLu --overwrite *.html
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次