Sublime TextでもWindows-1252でテキストファイルを開きたい
はじめに
この前たまたま見つけたSublime Textの仕様?バグ?についてです。
BOMとWindows-1252
結論を述べますと
Windows-1252でエンコードされているテキストの先頭に『』を置くと、その後にどんな文字が来ようとUTF-8として認識する。 さらに、メニューから明示的にWindows-1252で開き直すように指示してもガン無視する。
って事です。以上です。
まぁ、BOMがそもそもそのテキストがUTF-8でエンコードされている事を表す符号なんで、挙動としては誤っていません。 そもそも、フツーに考えてまともな内容のテキストで先頭に『』を配置するって事自体がまずありえません。
が、明示的に指示した場合はWindows-1252で開いてくれたっていいじゃないですか。*1
おまけでUTF-16
『ÿþS0“0k0a0o0』という内容でエンコードにWindows-1252を指定して保存して開き直すと、UTF-16LEとして認識されて『こんにちは』という内容が表示されます。
こちらの場合もいくらメニューからWindows-1252で開けと指示してもやっぱりガン無視されます。
まとめ
ちなみに根本的な解決方法はわかりませんでした。
なので、解決方法としましてはWindows-1252でテキストを保存するときは、テキストの先頭にUTFのBOMを表すような文字列を置かないようにしよう。そもそもUTF-8で保存しよう。 ってくらいですかね。
おわり
*1:なにかやり方があるのかもしれませんが、わかりませんでした