回答編集履歴

3

本筋と離れた内容を分離

2017/01/05 08:34

投稿

can110
can110

スコア38317

test CHANGED
@@ -124,6 +124,20 @@
124
124
 
125
125
 
126
126
 
127
+ 以下、本筋とは離れた内容になるため、参考程度にお読みください。
128
+
129
+
130
+
131
+
132
+
133
+
134
+
135
+ シェル(ターミナル)とpythonの標準入力の文字コードが異なる場合
136
+
137
+ ---
138
+
139
+
140
+
127
141
  ちなみにWin10+Anacondaの対話環境でPYTHONIOENCODING環境変数を利用してみましたが
128
142
 
129
143
  コマンドプロンプト上(cp932)とpython実行環境(utf-8)の文字コード不整合のためか、下記のようにエラーになりますね。

2

内容追記

2017/01/05 08:34

投稿

can110
can110

スコア38317

test CHANGED
@@ -180,6 +180,12 @@
180
180
 
181
181
  ```
182
182
 
183
+ C:\Windows\system32>set PYTYONIOENCODING=utf-8
184
+
185
+ C:\Windows\system32>echo %PYTHONIOENCODING%
186
+
187
+ utf-8
188
+
183
189
  C:\Windows\system32>chcp
184
190
 
185
191
  Active code page: 65001

1

内容追記

2017/01/05 08:22

投稿

can110
can110

スコア38317

test CHANGED
@@ -171,3 +171,59 @@
171
171
  SyntaxError: 'utf-8' codec can't decode byte 0x82 in position 6: invalid start byte
172
172
 
173
173
  ```
174
+
175
+
176
+
177
+
178
+
179
+ コマンドプロンプトのコードページを65001(UTF-8)にしてみると…
180
+
181
+ ```
182
+
183
+ C:\Windows\system32>chcp
184
+
185
+ Active code page: 65001
186
+
187
+
188
+
189
+ C:\Windows\system32>python
190
+
191
+ 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
192
+
193
+ Type "help", "copyright", "credits" or "license" for more information.
194
+
195
+ >>> import sys
196
+
197
+ >>> sys.stdin.encoding
198
+
199
+ 'utf-8'
200
+
201
+ >>> sys.stdout.encoding
202
+
203
+ 'utf-8'
204
+
205
+ >>> sys.getdefaultencoding()
206
+
207
+ 'utf-8'
208
+
209
+ >>> ai = 'ab'
210
+
211
+ >>> ai
212
+
213
+ 'ab'
214
+
215
+
216
+
217
+ # ↓ IMEが立ち上がらないのでコピーペーストで入力
218
+
219
+ >>> ai = 'あい'
220
+
221
+
222
+
223
+ # ↑ pytyon.exeが異常終了?してコマンドプロンプトに戻る…
224
+
225
+ # 何らかのエラーメッセージを出力しているのかもしれないが文字コード不整合のため表示されていない?
226
+
227
+ C:\Windows\system32>
228
+
229
+ ```