Spyder IDEとPythonシェルで実行されている間に、すぐに動作するスクリプトがあります。問題を理解するために、私は、CMDプロンプトを通してそれを実行し、次のように発生しました:UnicodeEncodeError:スクリプトはSpyderとIDLEで実行されますが、cmdプロンプトでは実行されません。
Traceback (most recent call last):
File "C:\Users\Cheese\Desktop\demografik-proje\demo-form-v-0-1-3.py", line 314, in <module>
mainMenu(q_list, xtr_q_list)
File "C:\Users\Cheese\Desktop\demografik-proje\demo-form-v-0-1-3.py", line 152, in mainMenu
patient_admin = input("Testi uygulayan ki\u015fi: ") #the person who administrated the test
File "C:\Program Files\Python35\lib\encodings\cp850.py", line 12, in encode
return codecs.charmap_encode(input,errors,encoding_map)
UnicodeEncodeError: 'charmap' codec can't encode character '\u015f' in position 18: character maps to <undefined>
この質問は前に何度も頼まれましたが、私が求めている理由は、このスクリプトはただ、一部のコンピュータでは正常に動作しますダブルクリックしても、私の場合は動作しません。私が集めたことから、私のコンピュータが英語であるにもかかわらず、実行可能なコンピュータはトルコ語であったという事実に関連するのだろうか?
また、プログラムには多くのトルコ語の文字列が含まれているため、個々の文字列を覚えておらず、むしろ上に何かを置いています。私はUTF8でスクリプトを実行するためのバッチファイルをセットアップすることさえしています。または、UTF8を認識するような方法でフリーズすることができたら(これが優先されます)?また、私はちょうどチェックし、すべてのトルコ語の文字が削除されている場合、プログラムは正常に動作します。予想通り。
SpyderはまだPython 3.5.1を実行していますが、3.5.2がインストールされています。コマンドプロンプトで「python」と入力すると、Python 3.5.2は正常に動作します。それはどのような援助だ場合は、次の
は、コードです:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
Block o' Code
"""
patient_admin = input("Testi uygulayan kişi: ") #the person who administrated the test
#gets input for all the data program needs
print("=======================================")
"""
More block o' code
"""
問題は、 'cmd.exe'が使用しているコードセットです。 – cdarke
あなたのコードは(おそらく)上手です(私はすべてのことを読んでいません、あなたは[mcve]であなたの問題を説明する必要があります)。しかし、コードが実行される端末を修正して、UTF-8コードページを使用するようにする必要があります。私はWindowsユーザーではありませんが、レジストリを編集する方法を示す様々なSOの回答があります。対話的なコマンドプロンプトでは、Pythonスクリプトを実行する前に 'chcp 65001'を実行するだけです。明らかに、スクリプトをダブルクリックして起動するときはオプションではありません。 –
[デフォルトでcmd.exeでUnicode文字セットを作成する方法]の回答(http://stackoverflow.com/questions/14109024/how-to-make-unicode-charset-in-cmd-exe-by-default )にはいくつかの解決策があるようです。 –