はじめに
先日、文字化けのようで文字化けではない話を書きました。
macOSとDockerコンテナの間で、日本語ファイル名の見え方がズレる話です。
厳密には文字化けではありません。
けれど、見た目と中身がズレるという意味では、少し文字化けに似ています。
それで、昔のことを思い出しました。
UTF-8の.txtを送ったら文字化けすると言われた
もう10年以上前の話です。
非IT系の会社の方に、メールで .txt ファイルを送ったことがありました。
こちらでは普通に読めます。
UTF-8で保存した、ただのテキストファイルです。
しかし、相手先からはこう言われました。
文字化けしています。
こちらでは読める。
相手先では読めない。
ファイルとしては正しいつもりでも、相手の環境で読めなければ、届いたことにはならないのだと思いました。
今ならたぶん読める
今なら、Windowsのメモ帳でもUTF-8のファイルは普通に読めるはずです。
当時よりも、UTF-8の .txt が文字化けする場面は減っていると思います。
それでも、相手がどの環境で開くかはわかりません。
古いPCかもしれません。
古い業務システムかもしれません。
テキストエディタではなく、別のソフトで開いているかもしれません。
.txtは簡単そうで難しい
.txt は、とても素朴なファイル形式に見えます。
しかし、素朴だからこそ、文字コードの問題が出ます。
UTF-8なのか。
Shift_JISなのか。
BOM付きなのか。
BOMなしなのか。
エンジニア同士なら、文字コードを確認すれば話が進みます。
しかし、非IT系の相手に「文字コードを確認してください」と言うのは、あまり親切ではありません。
まとめ
見た目は同じでも、中身が違うことがあります。
こちらでは読めても、相手先では読めないことがあります。
前回書いたUnicode正規化の話も、今回思い出したUTF-8の .txt の話も、根っこには少し似たところがあります。
見た目だけではわからない。
環境が変わると、見え方が変わる。
メールでファイルを送るときは、ファイルを添付しただけでは終わりではありません。
相手に読める形で届いて、はじめて届いたことになるのだと思います。
こじつけかも知れませんが、メールにまつわる話です。