UTF-8とUTF-8N

UTF-8Nという文字コードがあることを今日はじめて知った。
基本的にはUTF-8と変わらないのだけど、ファイルの先頭に制御コードが入るか入らないかという違いがある。本質的な意味ではまったく同じ文字コードであると言える。
その辺の違いについては以下のページの中にある、「UTF-8NとUTF-8とBOM」の説明がわかりやすい。
http://homepage2.nifty.com/hobbit/html/utf8.html

会社の環境ではUTF-8で保存したperlスクリプトファイル(#!/usr/bin/perlで始まるやつ)がシェルから直接実行できず、エラーになった。シェルによってバイナリファイルと判定されたようだ。同じものをUTF-8Nで保存しなおすと実行できるようになった。
perlへの引数としてスクリプトファイルを渡した場合はUTF-8でも問題なし。
とはいえスクリプトファイルはUTF-8Nで保存したほうが無難そうだ。


<追記>
UTF-8Nについて、もっと詳しい説明を見つけた。
http://www.esrij.com/support/arcexplorer/document/ax_about_utf8n.html