回答編集履歴
2
3.7 での対応について追記
answer
CHANGED
@@ -16,7 +16,16 @@
|
|
16
16
|
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
|
17
17
|
```
|
18
18
|
|
19
|
+
**追記: 3.7 での対応方法**
|
19
20
|
|
21
|
+
3.7 であれば直接 stdout.encoding を設定できるようになったので、
|
22
|
+
io.TextIOWrapper .. の代わりに
|
23
|
+
```
|
24
|
+
import sys
|
25
|
+
sys.stdout.reconfigure(encoding='utf-8')
|
26
|
+
```
|
27
|
+
でも良いようです。
|
28
|
+
|
20
29
|
----
|
21
30
|
win10/64bit にて、Python標準ライブラリのCGIサーバーを起動して確認。
|
22
31
|
|
1
追記
answer
CHANGED
@@ -34,9 +34,12 @@
|
|
34
34
|
|
35
35
|
出力を確認すると、Shift_JIS になっていたので、
|
36
36
|
(test.py自身はutf-8なのを確認)
|
37
|
-
ブラウザの自動判別で正常に表示されている
|
37
|
+
ブラウザの自動判別で正常に表示されている
|
38
|
-
フォーム等は文字化けしたまま?
|
38
|
+
~~フォーム等は文字化けしたまま?~~
|
39
39
|
|
40
|
+
追記: meta タグや content-type で charset=utf-8 を指定すると、
|
41
|
+
実際の文字コードとcharsetに指定されたコードに相違がある為、文字化けが発生する。
|
42
|
+
|
40
43
|
試しに、"Content-Type: text/html; charset=utf-8" とすると
|
41
44
|
同じく、べージ全体が文字化けしました。
|
42
45
|
|