2

コマンドラインに中国語の出力を出力するPythonスクリプトがあります。日食でうまく動作します。ただし、DOS ウィンドウで実行すると、? (疑問符)とゴミ文字。big-5 と GB のエンコーディングが原因でしょうか? もしそうなら、どうすればそれを制御できますか?

ところで、私はすでにアジア文字セットをインストールしています。これが Eclipse で動作する理由です。

編集: chcp、encode('utf-8') を組み合わせて、非 Unicode ハンドラを設定すると、文字が表示されるようになりましたが、単純な出力では例外が発生します:

chcp 65001
Active code page: 65001

Z:\src>c:\Python27\python.exe mobTest.py
Traceback (most recent call last):
  File "mobTest.py", line 94, in <module>
    print u'哈哈'.encode('utf-8')
IOError: [Errno 13] Permission denied
4

2 に答える 2

2

システムのロケールは何ですか? English (United States)たとえば、コンソールにコード ページ 437 を使用しますが、これは中国語の文字をサポートしていません。 Chinese (Simplified, PRC)コンソールに中国語を出力できるようにします。

Region and Languageコントロール パネル (Windows 7)、Administrativeタブ、および再起動で設定を変更できます。その後、コンソールへのUnicode中国語文字列の出力が機能します。IMEが利用可能になるので、中国語を入力することもできます.

システム ロケールの変更は、コンソールおよび非 Unicode プログラムにのみ影響します。最新のプログラムのほとんどは気付かないでしょう。

編集:中国のPRC地域を使用し、Windowsコンソールで実行する例:

Python 2.7.3 (default, Apr 10 2012, 23:24:47) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> print u'哈哈'
哈哈
>>> import sys
>>> sys.stdout.encoding
'cp936'

UTF-8 ソース エンコーディングを使用したサンプル スクリプト。コメントで宣言されているように、必ずソースを UTF-8 で保存してください。#coding

# coding: utf-8
print u'哈哈'
print '哈哈' # this will be UTF-8 encoded, and NOT work

実行:

C:\>python x.py
哈哈
鍝堝搱
于 2013-03-19T06:52:49.547 に答える
0

これは、簡体字中国語の問題をどのように解決したかです。

  1. 地域と言語の設定で非 Unicode プログラムの表示を簡体字中国語に設定
  2. 次の行を python ファイルに追加します (最初にバックアップを保存することをお勧めします)。

    - - コーディング: gbk - -

これにより、以前のコーディング (私の場合は utf-8) が置き換えられます。コードに既に含まれている utf-8 文字列は、gbk で再エンコードされます。したがって、それらの行を再入力する必要があります。

dos ウィンドウで実行すると、eclipse で正しい文字が生成されます。繁体字中国語の場合、Windows の設定と big5 で繁体字中国語を使用することで、同様のことができると思います。それのテストは、読者の演習として残します。

于 2013-03-23T13:35:15.760 に答える