PugでHTMLファイルをコンパイルしたら文字化けする

VS.Code のターミナルでPugコマンドを走らせ、HTMLファイルをコンパイルしたら文字化けする。Atomで同じことをすると問題なく、書きだされたHTMLはUTF-8であることが確認できる。なのでVS.Codeのみの問題と思われる。

例えば、pug index.pug で書きだされたHTMLの日本語部分が文字化けする。書きだされたHTMLをVS.Codeで開くと、エンコーディングが「Windows 1252」などとおかしなことになっている。

Wikipediaによれば........

Windows-1252またはコードページ1252 (Code Page 1252, CP1252) は、Microsoft Windowsの英語版および他の数種の西欧言語版で従来のコンポーネントが既定で使用するラテン文字文字コードである。

とのこと。

下にあるステータスバーのエンコード表記をクリックするか、コマンドパレットで Change file encoding を選択して、Reopen with encoding を選択し、ファイルエンコーディングutf8を選択しなおすと、自動的に再度ファイルが読み込まれて文字化けは直る。しかし個別にこんなことやってられない。

Settings>Files: Encoding は utf8 になっている。

面白いことにSettings>Files: Auto Guess Encoding のチェックを外すときちんとUTF-8で読み込んだ。

Files: Auto Guess Encoding:

when enabled, the editor will attempt to guess the charactor set encoding when opening files. This setting can also be configured per language.(有効にすると、エディタはファイルを開くときに文字セットのエンコーディングを推測しようとします。 この設定は言語ごとに設定することもできます。)

つまりAuto Guess Encodingは本来デフォルトのエンコーディング(この場合はUTF-8)以外のファイルを開く際の自動認識のはずだが、うまくいっていないってこと?? まあ自分の作業環境で書くファイルは全てUTF-8だから、しばらく外したままにしておこう。