GawkでUTF-8のファイルを読み込む時の注意点 - AWK
Gawkでは、文字コード UTF-8 のファイルを簡単に扱う事が出来ます。でも、少し癖がありますので、使う時には気を付けます。
**** Gawkで UTF-8を扱う時の注意点
o Gawk on Windows 3.1.7の場合、Gawkの実行時に、「 -W ctype=UTF8」オプションを追加する必要があります。
o AWKプログラムと入力ファイルの両方の文字コードを、(UTF-8に)合わせる必要があります。
+ 例外は、漢字のような全角文字を一切使っていない場合。この場合は、UTF-8ではなく、普通に(= メモ帳の場合は、ANSIで)保存しても、正しく動きました。
o AWKプログラムと入力ファイルの両方で、UNICODE特有の見えない文字(BOM)を入れてはいけません。
+ 今の所、BOM付きのUTF-8は、Gawkがサポートしていません。
+ AWKプログラムの文字コードがBOM付きのUTF-8の場合、文法エラーになります。
+ 入力ファイルの文字コードがBOM付きのUTF-8の場合、1行目の $0と $1の先頭に、BOMが混入します。
+ 対策方法は「Gawkで、UTF-8のファイルからBOMを除去する方法」
o 出力結果をコマンドプロンプト画面(黒い画面)に表示させると、漢字などの全角文字が文字化けしました。
+ Windows XPで確認しました。最新のOSでは、異なるかもしれません。
+ なるべく、半角の英数字や記号を使う事をおすすめします。
**** 確認した処理系
o Gawk on Windows 3.1.7 -- 「 -W ctype=UTF8」オプションが必要
o Gawk for Windows 3.1.6
==
関連ページ:
▼AWKの入出力関数とコマンド実行機能(▼ABC順)
▼AWKプログラムを書く(▼ABC順)
▼AWK
▼制作メモ
> Gawkで、UTF-8のファイルからBOMを除去する
getline = ファイル(やパイプ)から1行読み込む
print = ファイルなどに書き出す