Linux ファイルの文字コードを確認する

Linuxで、ファイルの文字コードを確認する手順を記述してます。「file」コマンドのオプション「-i」を使用すれば確認できます。
環境
- OS CentOS Stream release 9
- shell: /bin/bash
手順
ファイルの文字コードを確認するには、「file」コマンドのオプション「-i」を使用します。
実際に、文字コードを確認してみます
$ file -i docker-compose.yml
docker-compose.yml: text/plain; charset=us-ascii
文字コードが表示されていることが確認できます。
「docker-compose.yml」に日本語を追加して、再度確認してみます。
$ file -i docker-compose.yml
docker-compose.yml: text/plain; charset=utf-8
「UTF-8」に変わっていることが確認できます。
※マルチバイト文字を追加することで「文字コード」を指定することができます。
空のファイルの場合は「x-empty」となります。
$ file -i hoge.txt
hoge.txt: inode/x-empty; charset=binary
nkfコマンド
「nkf」コマンドを使用しても確認することは可能です。
$ nkf --guess hello.js
ASCII (LF)
「nkf」コマンドがない場合は、インストールすると使用できるようになります。
$ sudo dnf install nkf
「file」で同じファイルを確認した結果は、以下となります。
$ file -i hello.js
hello.js: text/plain; charset=us-ascii
文字コード変換
文字コードを変換する場合は「iconv」を使用します。
$ iconv -f 変換前の文字コード -t 変換後の文字コード 変換対象ファイル > 保存するファイル名
実際に「UTF-8」から「SHIFT-JIS」に変換した「sjis.yml」というファイルを作成してみます。
$ iconv -f UTF8 -t SHIFT-JIS docker-compose.yml > sjis.yml
確認してみます。
※「unknown-8bit」は「SHIFT-JIS」となります。
$ file -i sjis.yml
sjis.yml: text/plain; charset=unknown-8bit
-
前の記事
MySQL テーブルのキー制約を一覧で取得する 2022.03.08
-
次の記事
javascript エラー「TypeError: Attempting to change configurable attribute of unconfigurable property.」の解決方法 2022.03.08
コメントを書く