「Windows 10ミニTips」は各回の作成時点で最新のWindows 10環境を使用しています。

UTF-8化は世界的な流れだがトラブルを招く可能性アリ

Windows 10の日本語ロケール(日本語文字コード)は慣例的にShift_JISとなっていたが、時代の流れと共にUTF-8化が進んできた。例えばメモ帳で作成したテキストファイルのファイル形式は、すでにANSI(Shift_JIS)からBOMなしUTF-8に変更されている。

  • バージョン1903では、メモ帳で使用する既定の文字コードがUTF-8になった

このUTF-8を、Windows全体に適用するオプション(日本語ロケール)はバージョン1803で加わった。下図に示した手順で日本語ロケールをShift_JISからUTF-8に変更できるが、気になるのはバージョン1803でも“ベータ”だった本機能が、現時点での最新となるバージョン1909でも未だ"ベータ"とある点だ。

  • 「Win」+「R」キーを押して「ファイル名を指定して実行」を起動し、テキストボックスに「intl.cpl」と入力して「OK」ボタンをクリック/タップする

  • ダイアログの「管理」タブ→「システムロケールの変更」→「ベータ: ワールドワイド言語サポートでUnicode UTF-8を使用」→「OK]ボタン→「今すぐ再起動」ボタンと順にクリック/タップする

Windowsは長年Unicodeをサポートしてきたが、それはUTF-16であって、UTF-8ではない。Microsoftは多くの開発者がUTF-8を選択する潮流を踏まえ、Windowsコンソールやメモ帳に改良を加えてきた。だが、本設定は先進的ながらも、必ずしもメリットだけをもたらすものではない。たとえばコマンドプロンプトで古いツールを使用すると文字化けが発生する。

  • コマンドプロンプトを起動すると、既定の文字コードはUTF-8を指す65001に変更される

  • 文字コードをShift_JISを指す932に変更しても、UTF-8に未対応のアプリは文字化けが発生する(本来は日本語のメッセージが現れる)

手元で使っていたデスクトップアプリは問題なかったが、Shift_JISの出力だけを想定して開発された場合は、同様の文字化けが発生するだろう。エンドユーザーであればWindows 10内部はもちろん、サードパーティ製ツール各種がUTF-8対応を終え、“ベータ”の文字が消えたタイミングで有効にすれば十分だ。

阿久津良和(Cactus)