メールの添付ファイル名が文字化けする
アプリケーションにファイルがありませんと言われる

 「表」という文字をファイル名に使った時、メールに添付したファイル名が文字化けしたり、直接ファイルを開けようとして「ファイルがありません」といわれることがあります。 どうしてこのようになってしまうのでしょうか?。

 まずコンピュータで扱う日本語文字コードの基礎知識として、大きく以下のようなコード体系が存在することを理解しておきましょう。

文字コード 摘  要
JIS JIS規格のX0208で定められた文字集合。7ビットコード2文字で日本語文字を表現します。メールで使用する代表的な文字コード。
EUC 日本語UNIX環境で使用される文字コード。8ビットコードで表現されます。
シフトJIS Microsoftが決めたコードで、主にパソコンを中心に、WindowsやMacで使用されます。8ビット領域も使用します。
Unicode すべての文字を2バイトで表し、世界中の文字を表現しようとしています。

 我々が普段パソコンを使って文字を書いている場合、多くはシフトJISでコード化されています。

 標準テキスト形式と呼ばれるテキストファイルもシフトJISコードです。

 シフトJISコードで「表」という文字を表すと以下のようになります。

    文 字 シフトJIS
    95 5C

 ファイル名に「表」を使うと、都合の悪いことがおきます。実は、「表」の2バイト目の「5C」に問題があるのです。

「5C」が単独の場合、半角文字の「\」を表します。WINDOWSでは、「\」はファイルの名前では使えません。特殊文字としてパスの区切りとして扱われます。

 したがって、「表」という文字を日本語ファイル名を考慮しないアプリケーション(意外と多いです)やインターネット(インターネットは基本的に7ビット)で扱った場合、以下のようにディレクトリを一つ加えた状態でファイル名を解釈してしまいます。

C:\data\表の1.txt → C:\data\(95)\の1.txt

 (95)は、非表示文字になりますので、添付ファイルの保存などファイルを作成する動作を行った場合には、普通のファイル操作方法では開くことのできないファイルになってしまう可能性があります。

 「表」のように2バイト目に「5C」のコードが使われている文字は以下のとおりです。

Ы \
x x

 これらの文字を使用したファイルをメールに添付するときは、ファイル名を英数字文字などに変更したほうが望ましいでしょう。

 


F0001 ©A-SALA 2000年10月19日
戻る