MENU


Windows PowerShell の文字コードをUTF-8に変更!

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

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

 

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

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

@na65125038

MOMOHUKU(ふる)
 

MOMOHUKU - にほんブログ村

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

shift_jisだと日本語が文字化けします。

UTF-8だと日本語で文字化けしません。

ということで、PowerShell の文字コードをUTF-8にする方法を解説します。

目次

PowerShell で文字コードをUTF-8に変更する

① PowerShell を起動する

Windowsで検索欄にPowerShellと入力する
Windowsで検索欄にPowerShellと入力する

Windows の検索欄から"PowerShel"と入力します。そのまま"Enter"を押せば、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 上でchcpコマンドを打てば、現在の文字コードの設定を確認できます。

デフォルトだとshift_jis932です。

文字コードをUTF-8にします。

chcp 文字コードで変更する

PowerShell 7.2.6
Copyright (c) Microsoft Corporation.

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

PS C:\Windows\System32> chcp 65001

chcp 文字コードで、PowerShell(PS)の文字コードを変更できます。

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

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

Active code page: 65001

PS C:\Windows\System32>

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

shift_jisが日本語で文字化けする理由

文字
shift_jisコード955C8EA6

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

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

しかし、「表」の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」の展開結果は上になります。

コマンドプロンプト(cmd)でもchcpコマンドが使える

Microsoft Windows [Version 10.0.22000.856]
(c) Microsoft Corporation. All rights reserved.

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

C:\Users\ユーザー名> 

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

コマンドプロンプト(cmd)でも同じくchcp 文字コードコマンドで文字コードを変更できます。



【記事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で「ゲーム配信」をするのをオススメします。

コメント

コメントする

目次