「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典 からこっそり独立した

「分かりそう」で「分からない」でも「分かった」気になれる拡張子辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるWindowsコマンド辞典

chcp

何するコマンド?

コマンドプロンプトの文字エンコードを変更するときに使うコマンド。



書き方

chcp

もしくは

chcp [文字エンコードを表した数字]



オプション

ありません。


補足事項

何も指定しないで

chcp

を実行した場合、現在使用中の文字エンコードが数字で表示されます。
例えば、Shift-JISの環境で実行すると

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


のような結果が表示されます。
「932」の数字がShift-JISを表しています。
主だった数字と文字エンコードの対応は以下の通りです。


数字エンコード
932Shift-JIS
65001UTF-8
20932EUC-JP

他にもいろいろありますが、あまり使わないと思うので割愛します。
ちなみに、文字エンコードを数字で表現したものは「コード ページ(番号)」と呼ばれているようです。
試しに

chcp /?

を実行してヘルプを表示すると、コマンドの説明として

現在のコード ページ番号を表示または設定します。

が表示されます。
「コード ページ番号」は「文字エンコードと対応した数字」もしくは「Shift-JISとかUTF-8とか」と読み替えてください。

コマンドに続けて数字を指定すれば、使用する文字エンコードを設定することができます。
例えば

chcp 65001

と実行すると、コマンドプロンプトで使う文字エンコードがUTF-8になります。

これがchcpコマンドの使い方です。

chcp

で表示、

chcp [文字エンコードを表した数字]

で設定、難しいことはありませんよね。

以下は

chcp 65001

を実行して、UTF-8にしちゃった人向けの余談です。
興味の無い人は読み飛ばしてください。

chcp 65001

を実行すると文字エンコードはUTF-8になりますが、恐らくこのままでは日本語を表示できないはずです。
これは初期状態で文字エンコードをUTF-8にしたときに使用するフォントが日本語に対応していないことに起因します。
そこで、文字エンコードをUTF-8にしたときに使用するフォントを日本語対応のフォント(ex.MS ゴシック)に変更してあげる必要があります。

やり方は以下の通りです。
私の環境がWindows 7なのでWindows 7における操作方法を書いていきますね。
バージョンが違う方は適当に読み替えてください。

それではやり方ですが、まずコマンドプロンプトを起動します。

次に、上部のタイトル部分を右クリックし「プロパティ(P)」を押します。
「"コマンド プロンプト"のプロパティ」画面が開いたら「フォント」タブを選択し、画面中ほどの「フォント(F)」の項目から「MS ゴシック」を選択します。

これでコマンドプロンプトで使用するフォントがMS ゴシックになりました。

次に、以下のコマンドを実行してコマンドプロンプトの文字エンコードをUTF-8に変更します。

cmd /f:on /k "chcp 65001"

これでコマンドプロンプトは、フォントがMS ゴシックで文字エンコードがUTF-8の状態になりました。
日本語を表示できるはずです。

ただし使い勝手は良くないのでご注意ください。

まず、コマンドプロンプト上で日本語を直接入力することはできません。
日本語入力モードにならないのです。
コピペはできるので、頑張れば入力できますけどね。

次に「more」コマンドは恐らく使えません。
私の環境でmoreコマンドを実行したところ

Not enough memory.

というエラーメッセージが表示されました。
type」コマンドは使えたので、そちらで代用してください。

最後に、(恐らく)フォントが選べません。
フォントがMS ゴシック、文字エンコードがUTF-8の状態で、先程と同じように、上部のタイトル部分を右クリックし「プロパティ(P)」を押したところ

ポイント サイズには 5 から 72 を指定してください。

というメッセージが複数回表示されました。
「OK」ボタンを連打すると「"コマンド プロンプト"のプロパティ」画面自体は開くのですが「フォント」タブの「フォント(F)」欄に「MS ゴシック」の文字はありません。
恐らく内部的には「MS ゴシック」として認識されているものの、使用できるフォントには本来含まれていないのだと思います。
そのため「"コマンド プロンプト"のプロパティ」画面表示時点でフォントが未選択状態になってしまいます。

こうやって並べてみると、使い勝手が悪いですね。
WindowsさんはUTF-8に対して好意的ではないようです。
コマンドプロンプトをUTF-8に対応させるよりも、UTF-8のファイルをShift-JISに変換する方法を検討した方が現実的かもしれませんね。

スポンサーリンク


スポンサーリンク