目次
しかし、UTF-8 エンコーディングが指定されている場合、Python はエラーを報告しなくなります。
# 方法一  中文前加u, 告诉Python解释器后面的是个unicode编码str = u"彦雪"
ログイン後にコピー
" >
# 方法一  中文前加u, 告诉Python解释器后面的是个unicode编码str = u"彦雪"
ログイン後にコピー
# 方法三  unicode(str, 'utf-8') 将字符串 str 以utf-8编码解码, 获取unicodestr = unicode('彦雪','utf-8')
ログイン後にコピー
" >
# 方法三  unicode(str, 'utf-8') 将字符串 str 以utf-8编码解码, 获取unicodestr = unicode('彦雪','utf-8')
ログイン後にコピー
-
ホームページ バックエンド開発 Python チュートリアル Python2.7でWindowsのコマンドウィンドウに中国語の文字化けが出力される

Python2.7でWindowsのコマンドウィンドウに中国語の文字化けが出力される

Jun 23, 2017 pm 04:01 PM
windows 注文 出力

この記事の例は、Windows コマンド ウィンドウで Python ファイルを実行するときに生成される文字化けコードの問題について説明しています。ご参考までに:
追伸: 交換と学習を歓迎します。実行すると、出力結果は次のようになります:

# -*- coding:utf-8 -*-str = "彦雪"print str
ログイン後にコピー

コード化けの結果は他とは異なる場合がありますが、すべて文字化けコードです!!

問題分析

Python2のデフォルトのエンコードは「ascii」ですが、asciiエンコードはそうではありません中国語の文字が含まれています

中国語の文字が含まれている場合、Python インタプリタは通常、エラーが報告されます。

しかし、UTF-8 エンコーディングが指定されている場合、Python はエラーを報告しなくなります。

"# -

-coding:utf -8 -
-" は、Python ソース コードが UTF-8 でエンコードされることを指定します。

window のデフォルトのエンコードは gbk エンコードであるため、出力前に str を gbk としてエンコードする必要があります。 Python では utf-8 から gbk への直接変換が許可されていないため、まず utf-8 を unicode に変換してから gbk に変換する必要があります

詳細な分析


この方法の欠点は、クロスプラットフォームの場合です。問題が発生するため、Python は出力として Unicode を使用する便利な解決策を提供します - この方法は raw_input には適用されません

出力を印刷する必要がある場合、Python は最初に文字出力プログラム (コマンド ラインまたは出力関数) を呼び出します。 、文字出力プログラムが使用するエンコードに文字列をエンコードし(文字出力プログラムがエンコードを認識できないために文字化けが発生しないようにするため)、文字出力プログラムはエンコードされた文字を出力先に出力します。

解決策

褰﹂洩
ログイン後にコピー

# 方法一  中文前加u, 告诉Python解释器后面的是个unicode编码str = u"彦雪"
ログイン後にコピー

# 方法二  str.decode('utf-8') 以utf-8编码对字符串 str 进行解码, 获取unicodestr = "彦雪".decode('utf-8')
ログイン後にコピー
raw_inputを使用すると、Windowsのコマンドウィンドウで文字化けが表示されます
raw_inputを使用するには、中国語をシステムエンコーディングに変換する必要があり、方法は次のとおりです

# 方法三  unicode(str, 'utf-8') 将字符串 str 以utf-8编码解码, 获取unicodestr = unicode('彦雪','utf-8')
ログイン後にコピー

# 方法1  str.encode("gbk") 将unicode转为gbk 编码content = raw_input(u"输入内容: ".encode("gbk"))
ログイン後にコピー
りー
この記述方法は非常に便利ですが、クロスプラットフォーム効果は低く、漢字と raw_input を同じ行に記述することをお勧めします。他の手段で

拡張読書Pythonコーディング コメント# -

-coding:utf-8 -

-

PEP 263 -- Pythonソースコードエンコーディングの定義Pythonエンコーディング、文字化け、Unicodeに関するいくつかの研究

raw_input の入力、ファイルの読み取り、変数の比較など。 str 、unicode、utf-8 変換の問題

探索中

現在は退職していますが、待っている間、私が以前によく遭遇した問題を共有し、話し合うことができれば幸いです。誰にとっても役立つでしょう。修正は大歓迎です

知識を共有して、プログラミングの楽しさを楽しんでください

以上がPython2.7でWindowsのコマンドウィンドウに中国語の文字化けが出力されるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

ターミナルからMySQLにアクセスできません ターミナルからMySQLにアクセスできません Apr 08, 2025 pm 04:57 PM

端末からmysqlにアクセスできない場合は、次の理由があります。MySQLサービスが実行されていません。接続コマンドエラー;許可が不十分です。ファイアウォールは接続をブロックします。 mysql構成ファイルエラー。

mysqlをコピーして貼り付ける方法 mysqlをコピーして貼り付ける方法 Apr 08, 2025 pm 07:18 PM

MySQLのコピーと貼り付けには、次の手順が含まれています。データを選択し、Ctrl C(Windows)またはCMD C(MAC)でコピーします。ターゲットの場所を右クリックして、貼り付けまたはCTRL V(Windows)またはCMD V(MAC)を使用します。コピーされたデータは、ターゲットの場所に挿入されるか、既存のデータを置き換えます(データが既にターゲットの場所に存在するかどうかに応じて)。

Windows 8でコードを実行できます Windows 8でコードを実行できます Apr 15, 2025 pm 07:24 PM

VSコードはWindows 8で実行できますが、エクスペリエンスは大きくない場合があります。まず、システムが最新のパッチに更新されていることを確認してから、システムアーキテクチャに一致するVSコードインストールパッケージをダウンロードして、プロンプトとしてインストールします。インストール後、一部の拡張機能はWindows 8と互換性があり、代替拡張機能を探すか、仮想マシンで新しいWindowsシステムを使用する必要があることに注意してください。必要な拡張機能をインストールして、適切に動作するかどうかを確認します。 Windows 8ではVSコードは実行可能ですが、開発エクスペリエンスとセキュリティを向上させるために、新しいWindowsシステムにアップグレードすることをお勧めします。

Laravelの複雑な属性の関係の問題を解決する方法は? Composerを使用してください! Laravelの複雑な属性の関係の問題を解決する方法は? Composerを使用してください! Apr 17, 2025 pm 09:54 PM

Laravel Developmentでは、特にマルチレベルの属する関係に関しては、複雑なモデル関係に対処することは常に課題でした。最近、私はこの問題に、従来のHasManyThrough関係がニーズを満たすことができず、データクエリが複雑で非効率的になることになっているマルチレベルモデル関​​係を扱うプロジェクトでこの問題に遭遇しました。いくつかの探索の後、私は図書館がStaudenmeir/属していることを発見しました。

DebianのTigervncによってサポートされているオペレーティングシステム DebianのTigervncによってサポートされているオペレーティングシステム Apr 12, 2025 pm 10:15 PM

オープンソースのVNCツールTigervncは、Windows、Linux、MacOを含む幅広いオペレーティングシステムと互換性があります。この記事では、DebianシステムへのTigervncの適用を詳細に紹介します。 TigervncはDebianシステムのアプリケーションシステムに統合されています。Debianシステムでは、TigervncはVNCサーバーコンポーネントとしてシステムに統合されています。ユーザーは、VNCServerなどのコマンドラインツールを介してVNCサービスを開始し、解像度や色の深さなどの表示設定をカスタマイズできます。クロスプラットフォーム接続:TigerVNCクライアントはWindows、Linux、およびMacOをサポートしています。つまり、ユーザーはこれを任意のものから実行できます。

コードを書いた後に崇高に実行する方法 コードを書いた後に崇高に実行する方法 Apr 16, 2025 am 08:51 AM

Sublimeでコードを実行するには6つの方法があります。ホットキー、メニュー、ビルドシステム、コマンドライン、デフォルトビルドシステムの設定、カスタムビルドコマンド、プロジェクト/ファイルを右クリックして個々のファイル/プロジェクトを実行します。ビルドシステムの可用性は、崇高なテキストのインストールに依存します。

VSCODEは拡張子をインストールできません VSCODEは拡張子をインストールできません Apr 15, 2025 pm 07:18 PM

VSコード拡張機能のインストールの理由は、ネットワークの不安定性、許可不足、システム互換性の問題、VSコードバージョンが古すぎる、ウイルス対策ソフトウェアまたはファイアウォール干渉です。ネットワーク接続、許可、ログファイル、およびコードの更新、セキュリティソフトウェアの無効化、およびコードまたはコンピューターの再起動を確認することにより、問題を徐々にトラブルシューティングと解決できます。

Laravelインストールコード Laravelインストールコード Apr 18, 2025 pm 12:30 PM

Laravelをインストールするには、これらの手順を順番に進みます。コンポーザー(MacOS/LinuxとWindows用)インストールLaravelインストーラーをインストールします。

See all articles