3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ファイルの文字コードをMacのターミナルで確認する&変換する

Last updated at Posted at 2023-03-31

先日Shift_JIS形式でhtmlファイルを作成する案件があり、
納品する前に今一度文字コードを確認しておきたい…と思っていろいろ調べたことメモです。

文字コードを確認する

文字コードを確認するにはfileコマンドにmimeオプションをつけて実行すればOKです。

$ file --mime ファイル名

ここでunknown-8bitと出てきたのでドキッとしてしまいましたが、unknown-8bitShift_JISのことだそうでホッと一安心。

文字コードを変換する

文字コードを変換するにはnkfコマンドを使います。

//未インストールの場合、Homebrewでnkfをインストール
$ brew install nkf

//ファイルをShift_JISに変換(上書き保存)する
$ nkf -s --overwrite ファイル名

//ファイルをUTF-8に変換(上書き保存)する
$ nkf -w --overwrite ファイル名

いろいろなcharset

上記のコマンドをテストしようとして適当にテキストファイルを作成したところ、コマンドはもちろんエディターの設定をいろいろ変えて保存してもfile --mimeでの出力結果がずっとus-asciiになってしまい、大いにハマりました。
原因はマルチバイト文字を含まないファイルだったからでした。(本文がtestのみとかだった)

$ file --mime 空のファイル.txt
結果: inode/x-empty; charset=binary

$ file --mime マルチバイトなしファイル.txt
結果: text/plain; charset=us-ascii

$ file --mime utf-8のファイル.txt
結果: text/plain; charset=utf-8

$ file --mime Shift_JISのファイル.txt
結果: text/plain; charset=unknown-8bit

まめると↑のような感じです。
これで困るケースはあまりなさそうですが念のため頭に入れておきたいと思います :bulb:

参考記事

ありがとうございます:pray::sparkles:

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?