カテゴリ


商品検索


twitter


スポンサー


twitter


検索


スポンサー


python:コマンドプロンプトで日本語文字化け対処方法


皆さま

こんにちは。

pyファイルに記載した処理をMS-DOSコマンドプロンプトから利用したら、
文字化けしてしまったので、その対処方法について。

環境


・Windows7 SP1
・Python 2.7.11
・MS-DOSのCHCPは、デフォルトのまま。(cp932 = shift-jisをMSが独自に拡張したエンコード)

エラーとなる例


1.pyファイルを、適当な場所に以下の内容で作成。

# -*- coding: utf-8 -*-
val = “日本語”
print val

2.PythonのShellで実行した場合の確認

・上記1で作成したファイルをエクスプローラで選択して、右クリックから、「Edit With IDLE」を選択
これにより、PythonのEditorが起動する。

この状態で、Editorにて、「F5」をクリックすると・・・↓
Shellでは文字化けなし。

3.今度は、MS-DOSコマンドプロンプトを起動

・上記1で作成したファイルがあるフォルダに移動して、「python ~.py」のコマンドを実行。
これにより、pythonファイルが実行される。
※pythonへの環境変数が設定されていないと、そんなコマンド知らんよ~と怒られるので注意。

実行前に、CHCPで、現在の文字コードを確認↓MS932(Shift-jisさん)したうえで、
pyファイルを実行。すんごい文字化け。。


解決策


pyファイル内の、日本語文字の前に「u」を付与する

先ほど開いている、pyファイルの内容を以下の通りに修正する。

Python Shellで実行しても文字化けなし

コマンドプロンプトから実行しても文字化けなし

うぬ。Unicodeマーキング的な?

IDLE・MS-DOSコマンドプロンプトそれぞれで、
「うまく動く」「うまく動かない」の差異があるらしいので、しばらく整理が必要そう。

では、今日はこのくらいで。

免責事項


  • サイトを利用することでのトラブルや損失については責任を問わないものとします
  • サイト上の情報の正確性、合理性、有用性などは保証しかねます
  • サイト上の情報は予告なく変更、削除される場合があります