メモ帳のコペルニクス的転回

メモ帳(notepad.exe)はIEと極めて相性がよい。呼び出しが簡単でもう両者は一体化しているといってもよい。この点ではメモ帳は安心して使える常用のエディタになっている。しかし、少し前の「Ver.1903」のUpdateによって、これにも注意すべき点が出てきた。

単なるメモ程度に使うテキストファイルは別にして、いささかでも機能的な動作を記述しているテキストファイルには次のようなものがある。これが「メモ帳 UTF-8N デフォルト化」によってどんな影響があるのかが問題である。ただし、保存時に「明示的にANSIを指定」すれば従来と同じになるが、今までの習慣上、これをせずに単純に保存してしまう可能性が高いから要注意である。Shift_JISのつもりが、いつのまにかUTF-8になっている、ということになる。ファイルをメモ帳で作成・編集する場合デフォルトでは「UTF-8N/CRLF」になることに注意。


メモ帳で書いているもの

こう見てくると、*.html, *.css, *.js などホームページ(またはHTML)関連のファイルは同一の文字コードにするのが妥当である(当然)。そして、そういう面で使った場合、文字コードの齟齬、すなわち、Shift_JISのつもりが実際はUTF-8だった場合は文字化けが出るので容易に外部からそれがわかる。注意するのは、一見してそれがわからない場合である。
特に、半角英数字ばかりのテキストでは「ANSI」を指定して保存しても「UTF-8」になる。何か日本語を入れないと「Shift_JIS」にはならない。これはもうバグに近い。

SJISやUTF-8のひな型(***_0000.htmlなど)を作成しておいて、それを読み込んで、別の名前を付けて保存すれば、このトラブルの多くは防止できる。しかし、ひな型のない(それが不要な)ファイルもある。これが要注意である。

重要
メモ帳のデフォルトはUTF-8N/CRLF改行である。
ANSIを指定しても日本語がなければUTF-8になる。

Perl/CGIの「連番ファイル一括大量作成プログラム」においても、文字コードをShift_JISとしてファイルを作成しても、ヒアドキュメント中に日本語が入っていない場合(半角英数文字だけの場合)、それをメモ帳で読み込めばUTF-8だとされてしまう。それを知らずに書き込むと「文字化け騒動」が起こるので注意(「meta charset="shift_jis"」となっていてもUTF-8で書き込まれる)。

それを避けるために、「title」タグの部分に日本語を入れること、たとえば「タイトル」などの語が適当である。これなら一般的に使えるからである。
SAMPLE
<title>タイトル(No.$num)</title>
<title>タイトル($headtitle)</title>

これも殿様商売が身についたMicrosoftの改悪によるムダな修正と手間である。従来のものはnotepad.exeと従来のままにして、デフォルトがUTF-8のものはnotepad2.exeにするなどの配慮はまったくない。困ったカス会社である。

- 2019/08/26 -