はじめに
こんにちは!今回はiconvコマンドについて解説します。
iconvは、ファイルの文字コードを別の文字コードに変換するコマンドです。「このファイル、Shift-JISなのに UTF-8 で処理したい」「文字化けが発生している」という時に活躍。
古いシステムとの連携、国際化対応、文字化け問題の解決など、多言語環境では必須のコマンドですよ。
iconvコマンドとは
iconvは、ファイルの文字コード(エンコーディング)を別の文字コードに変換する外部コマンドです。“iconv” = “input/output conversion"の略ですね。
Shift-JIS、EUC-JP、UTF-8など、異なるエンコーディング間での変換を効率的に実行できます。スクリプト処理やシステム統合で活躍します。
基本構文
|
|
ファイル名を指定しないと標準入力から読み込みます。
主なオプション
| オプション | 説明 |
|---|---|
-f |
入力の文字コード指定 |
-t |
出力の文字コード指定 |
-l |
サポートする文字コード一覧 |
-o |
出力ファイル指定 |
-c |
変換不可文字を削除 |
使用例
例1: UTF-8 から Shift-JIS に変換
|
|
実行結果:
|
|
UTF-8で書かれた日本語をShift-JISに変換。
例2: Shift-JIS から UTF-8 に変換
|
|
実行結果:
|
|
古いファイルを現代的なUTF-8に変換。
例3: 出力ファイルに保存
|
|
実行結果:
|
|
変換結果をファイルに保存。
例4: サポートする文字コード一覧
|
|
実行結果:
|
|
システムでサポートされているすべての文字コード。
例5: 複数ファイルを一括変換
|
|
実行結果:
|
|
バッチ処理で複数ファイル変換。
例6: パイプで他のコマンドと組み合わせ
|
|
実行結果:
|
|
変換後にgrep処理。
例7: EUC-JP から UTF-8 に変換
|
|
実行結果:
|
|
古い EUC-JP 形式を現代的に変換。
例8: 変換不可文字を削除
|
|
実行結果:
|
|
互換性のない文字を自動削除。
例9: 文字化けファイルの修正
|
|
実行結果:
|
|
文字コード誤認識を修正。
例10: ログファイルの文字コード統一
|
|
実行結果:
|
|
ログの文字コードを統一。
Tips・注意点
文字コード名の大文字小文字
|
|
通常は大文字小文字が区別されません。
//IGNORE と //TRANSLIT オプション
|
|
変換不可文字の処理方法を指定。
ファイルの文字コード確認
|
|
変換前に必ず確認。
BOM(バイトオーダーマーク)の処理
|
|
BOM付きファイルの処理。
実践的な使い方
Windows ファイルを Linux で処理
|
|
Windows と Linux 間のファイル交換時に使用。
CSVファイルの文字コード統一
|
|
データベースインポート前に文字コード統一。
データベースダンプの変換
|
|
異なる文字コード環境との連携。
スクリプト内での文字コード対応
|
|
汎用スクリプトで複数文字コード対応。
まとめ
iconvコマンドのポイント:
- ファイルの文字コードを別の文字コードに変換
-f: 入力の文字コード指定-t: 出力の文字コード指定-o: 出力ファイル指定-l: サポート文字コード一覧表示-c: 変換不可文字を削除- //IGNORE, //TRANSLIT で柔軟に対応
- よく使う組み合わせ:
iconv -f SHIFT-JIS -t UTF-8 file.txt
文字化けのトラブル、古いシステムとの連携、国際化対応など、iconvは多くの場面で活躍する重要なコマンド。文字コード問題に直面したときは、iconvで素早く解決できますよ!