MENU


Windows コマンドプロンプト(cmd)の文字コードをUTF-8に変更!

  • URLをコピーしました!
このエントリーをはてなブックマークに追加
M1・M2 Macで起動するParallels「Windows11」仮想環境
M1・M2 Macで起動するParallels「Windows11」仮想環境
ふる
ふる

こんにちは!「ふる(プロフィール詳細)」です。 

 

記事は信頼性ある内容を心がけています。

  • IT専門
  • 宅建士、行政書士資格保有
  • 体組成計"プロアスリート"認定

@na65125038

MOMOHUKU(ふる)
 

MOMOHUKU - にほんブログ村

Windows コマンドプロンプト(cmd)のデフォルトの文字コードはshift_jisです。

shift_jisを使っていると日本語の文字化けで100%困ります。

現在、ほとんどのアプリでUTF-8が使われているからです。

ということで、文字化け対策のために、コマンドプロンプト(cmd)の文字コードをUTF-8に変更したくなるわけです。

最初からコマンドプロンプト(cmd)がUTF-8だったら良いんですが、、、何か理由があるのかも知れませんが、、、。

ちなみにPowerShellも同じくデフォルトの文字コードはshift_jisです。なので、この記事で紹介するchcpコマンドはPowerShellにも使えます。

目次

コマンドプロンプト(cmd)を起動する

Windows 11 でコマンドプロンプトを起動する
Windows 11 でコマンドプロンプトを起動する

Windows 11でコマンドプロンプト(cmd)を起動しましょう。

検索欄から"cmd"と入力すればコマンドプロンプト(cmd)が表示されます。

そのまま"Enter"を押せば、コマンドプロンプト(cmd)が起動します。

コマンドプロンプトの文字コードを確認する

C:\Users\ユーザー名> chcp
現在のコード ページ: 932

C:\Users\ユーザー名> 

コマンドプロンプト(cmd)上でchcpコマンドを打てば、現在の文字コードの設定を確認できます。

932なので文字コードはshift_jisです。

shift_jisUTF-8で開いたりすると日本語が文字化けします。

なので、文字コードをUTF-8します。

shift_jisが文字化けする理由

shift_jisで「表示」という文字を、CGIスクリプト中に記述して出力すると「侮ヲ」と文字化けします。

shift_jisでは、日本語は1文字当り2バイトで表現されます。shift_jisの「表示」という文字コードは下記で表現されます。

文字
shift_jisコード955C8EA6

しかし、「表」の2バイト目の「5C」は、メタ文字(特殊文字)の「¥」の文字コードと重複します(shift_jisの場合)。 「¥」が文字列中にあると、コンピュータはこれをエスケープ記号として解釈し、次のように表示します。

  • (1) 95 5C 8E A6 ... 記述時点
  • (2) 95 5C 8E A6 ... 「5C」を「¥」と解釈し取り去る(その次の8Eをエスケープすると解釈)
  • (3) 95 8E A6 A6 ... 展開結果
文字ヲ (半角)
shift_jisコード958EA6

最終的な表示として、文字コード「95 8E A6」の展開結果は上になります。

コマンドプロンプトの文字コードをUTF-8に変更する

C:\Users\ユーザー名> chcp 65001

chcp 文字コードで、コマンドプロンプトの文字コードを変更できます。

UTF-8の文字コードは65001です。

なのでchcp 65001で文字コードがUTF-8になります。

Active code page: 65001

C:\Users\ユーザー名> 

chcp 65001コマンドを打つとActive code page: 65001と表示され画面が切り替わります(再読み込みされます。)。

これで文字コードがUTF-8になりました。

UTF-8が使われる理由

UTF-8(Unicode)がよく使われる理由は、ASCIIとの互換があるからです。

大半がUnicodeとは言っても英語圏では、まだまだASCIIが使われています。UTF-8(Unicode)は、そのASCIIと互換性があるというのが大きな利点です。

またUTF-8にはエンディアンの問題もありません。

これがUTF-8が使われている理由です。



文字コード表

識別子.NET 名関連情報
932shift_jisANSI/OEM 日本語;
日本語(Shift-JIS)
20127us-asciiUS-ASCII(7ビット)
65001utf-8Unicode(UTF-8)

shift_jis:932、UTF-8:65001などの文字コードの設定値は、当たり前ですがMicrosoftが決めています。

UTF-8以外にする人はいないと思いますが、、、

Microsoftの公式ページに文字コード表があるので、他の文字コードにしたい方は参考になるかと思います。

  • Microsoft コード ページ識別子
    • https://docs.microsoft.com/ja-jp/windows/win32/intl/code-page-identifiers

PowerShell もchcpコマンドが使える

PowerShell 7.2.6
Copyright (c) Microsoft Corporation.

https://aka.ms/powershell
Type 'help' to get help.

PS C:\Windows\System32> chcp
現在のコード ページ: 932

PS C:\Windows\System32>

PowerShell もデフォルトの文字コードはshift_jisです。

PowerShell も同じくchcp 文字コードコマンドで文字コードを変更できます。

Amazon 最新ランキング(ゲーム)



【記事PR】M1・M2 MacをゲーミングPC化する!Apexでゲーム配信しよう!

M1・M2 MacでもGeForce NOWならApexが起動する!
M1・M2 MacでもGeForce NOWならApexが起動する!

M1・M2 Macでゲーム配信しないのは「勿体ない」です。

M1・M2 Macは思っている以上に何でもできるハイスペックマシンだからです。

しかし、ほとんどのFPSゲームには、必ず「WindowsゲーミングPC」が必要になります。

ただ、これからはM1・M2 Macでゲームするのが普通です。

なぜなら、今後、ゲーミングPCは「クラウドGPUの時代」だからです。

GeForce NOWには無料のフリープランがあるので、とりあえず、試しにM1・M2 MacをWindowsゲーミングPC化できます。

今後、ますます「ゲーム配信」が活発になります。

GeForce NOWを使えば、母艦(M1・M2 Mac)のスペックなんか関係ないからです。

GeForce NOWなら「高額で巨大グラボ」が無くても、Windowsゲームが出来るわけです。

M1・M2 Macで「ゲーム配信」をするのをオススメします。



コメント

コメントする

目次