質問: jupyterでpython2.7を使用しプログラムを作成していたのですが raw_inputを使用し日本語を入力すると全て?になってしまいます。 ![![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/dfb4e68dfc56b8be79989487f5d93b63.png)](af6c7acfd4a099b582e806fab0db197c.png) どうすれば日本語を認識できるのでしょうか
回答: testinは、Python 2 の str になると思います。(Unicodeではなく) Unicodeリテラル(u"")で、raw_inputに日本語を与えてエラーになっていないのですが、raw_inputに与えるプロンプト出力用文字列は、 str で与えたほうが良いと思います。 http://docs.python.jp/2/library/functions.html#raw_input Python 2で学習するなら、 str / unicode の変換、内部データを意識する必要があります。 Python 3では、これらの多くの問題が解決されています。 ちなみに、以下はどうなりますか? 以下を実行するとどうなりますか? ``` import sys sys.getdefaultencoding() ``` 'ascii' と出てきませんか?