どうぐばこノート

パソコンの文字化け

画面に出た化けた文字をコピーして下に貼り付けると、元の文章に戻した候補を出します。例として、コマンドの結果に多い化け方を入れてあります。

例を入れる:

    すべての組み合わせ(20通り)
    読み間違えた文字コード本当の文字コード戻した結果(はじめの40字)

    貼り付けた文章や開いたファイルはこのページの中だけで処理し、どこにも送信しません。保存するのは「この端末に設定を残す」にチェックを入れたときの設定だけで、文章やファイルは残しません。

    メモ帳で開くと化けるとき

    Windowsのメモ帳は、Windows 10 のプレビュー版(ビルド18298)のときに、BOMのないUTF-8で保存できるようになり、新しく作るファイルの既定もUTF-8になりました。Windows Insider のブログ(2018年12月10日)には、画面の下のステータスバーに、開いているファイルの文字コードが出るようになったことも書かれています。

    そのため、古いソフトが作ったShift_JISのファイルをUTF-8のつもりで読むと「�」が並び、反対にUTF-8のファイルをShift_JISを前提にした古いソフトで開くと「縺」が並びます。まずステータスバーで、メモ帳がどの文字コードで読んでいるかを確かめてください。名前を付けて保存の画面の「エンコード」の欄について説明したMicrosoftの公式ページは見つからなかったため、ここでは手順を省きます。

    Webページが化けるとき

    HTMLの決まり(WHATWG HTML、2026年10月22日更新)では、Webページの文字コードはUTF-8にし、宣言は「utf-8」と書いて、ページの先頭から1024バイトの中に置くことになっています。ページを作る側は、head の最初のほうに meta charset="utf-8" を書いておくのが基本です。見る側で化けたとき、Chromeではエンコードの設定を変えられず、拡張機能で直す方法がある、とGoogleのMerchant Centerのヘルプに書かれています。化けた部分をコピーして上の欄に貼り付ける方法なら、ブラウザを問いません。

    なお、URLに出てくる「%E3%81%82」のような並びは文字化けではなく、日本語の文字をUTF-8のバイト列にして、URLに使える文字で書いたものです。

    PowerShellで化けるとき

    Microsoftの説明(about_Character_Encoding)によると、PowerShell 7 以降は、すべての出力に既定で BOMのないUTF-8(utf8NoBOM)を使います。一方、Windows PowerShell 5.1 は、Out-File やリダイレクト(>)がUTF-16LEで、Set-Content や Get-Content は Default(ANSI、日本語のWindowsではShift_JIS)を使うなど、コマンドによって文字コードが違います。

    コマンドプロンプトとバッチファイルで化けるとき

    コマンドプロンプトの文字は、コンソールのコードページで読まれます。chcp を何も付けずに実行すると今のコードページが表示され、番号を付けて実行すると切り替わります(Microsoft Learn の chcp の説明)。Microsoftのコードページの一覧では、932がShift_JIS、65001がUTF-8です。

    バッチファイルを保存した文字コードと、コンソールのコードページが違うと、表示する日本語が化けます。UTF-8で保存したバッチファイルなら先頭で chcp 65001 を実行するか、バッチファイルをShift_JISで保存し直すと、両方がそろいます。

    VS Codeとターミナルで化けるとき

    VS Codeの説明(Basic Editing)では、設定の files.encoding で文字コードを決められ、画面右下のステータスバーの文字コードを押すと、別の文字コードで開き直したり保存し直したりできます。ファイルが化けて見えるときは、ここで日本語のShift_JISやUTF-8を選び直します。VS Codeの中のターミナルや、ほかのターミナルのアプリで化けるときは、中で動いているPowerShellやコマンドプロンプトの文字コードを、上の方法でそろえてください。

    確認した資料

    確認日 2026-10-24。文字コードの変換は WHATWG Encoding Standard の表(index ファイル、2024年9月18日版)をそのまま使っています(ライセンス文)。