回答編集履歴
3
本筋と離れた内容を分離
answer
CHANGED
@@ -61,6 +61,13 @@
|
|
61
61
|
```
|
62
62
|
|
63
63
|
|
64
|
+
以下、本筋とは離れた内容になるため、参考程度にお読みください。
|
65
|
+
|
66
|
+
|
67
|
+
|
68
|
+
シェル(ターミナル)とpythonの標準入力の文字コードが異なる場合
|
69
|
+
---
|
70
|
+
|
64
71
|
ちなみにWin10+Anacondaの対話環境でPYTHONIOENCODING環境変数を利用してみましたが
|
65
72
|
コマンドプロンプト上(cp932)とpython実行環境(utf-8)の文字コード不整合のためか、下記のようにエラーになりますね。
|
66
73
|
```
|
2
内容追記
answer
CHANGED
@@ -89,6 +89,9 @@
|
|
89
89
|
|
90
90
|
コマンドプロンプトのコードページを65001(UTF-8)にしてみると…
|
91
91
|
```
|
92
|
+
C:\Windows\system32>set PYTYONIOENCODING=utf-8
|
93
|
+
C:\Windows\system32>echo %PYTHONIOENCODING%
|
94
|
+
utf-8
|
92
95
|
C:\Windows\system32>chcp
|
93
96
|
Active code page: 65001
|
94
97
|
|
1
内容追記
answer
CHANGED
@@ -84,4 +84,32 @@
|
|
84
84
|
|
85
85
|
^
|
86
86
|
SyntaxError: 'utf-8' codec can't decode byte 0x82 in position 6: invalid start byte
|
87
|
+
```
|
88
|
+
|
89
|
+
|
90
|
+
コマンドプロンプトのコードページを65001(UTF-8)にしてみると…
|
91
|
+
```
|
92
|
+
C:\Windows\system32>chcp
|
93
|
+
Active code page: 65001
|
94
|
+
|
95
|
+
C:\Windows\system32>python
|
96
|
+
Python 3.5.2 |Anaconda 4.2.0 (64-bit)| (default, Jul 5 2016, 11:41:13) [MSC v.1900 64 bit (AMD64)] on win32
|
97
|
+
Type "help", "copyright", "credits" or "license" for more information.
|
98
|
+
>>> import sys
|
99
|
+
>>> sys.stdin.encoding
|
100
|
+
'utf-8'
|
101
|
+
>>> sys.stdout.encoding
|
102
|
+
'utf-8'
|
103
|
+
>>> sys.getdefaultencoding()
|
104
|
+
'utf-8'
|
105
|
+
>>> ai = 'ab'
|
106
|
+
>>> ai
|
107
|
+
'ab'
|
108
|
+
|
109
|
+
# ↓ IMEが立ち上がらないのでコピーペーストで入力
|
110
|
+
>>> ai = 'あい'
|
111
|
+
|
112
|
+
# ↑ pytyon.exeが異常終了?してコマンドプロンプトに戻る…
|
113
|
+
# 何らかのエラーメッセージを出力しているのかもしれないが文字コード不整合のため表示されていない?
|
114
|
+
C:\Windows\system32>
|
87
115
|
```
|