回答編集履歴
3
文字コードの確認方法を追記
answer
CHANGED
@@ -6,6 +6,7 @@
|
|
6
6
|
また、文字化けせずに、文字列を連結して出力するには、書式指定して出力すればよいです。
|
7
7
|
参考:[[python]文字列置換(フォーマット)まとめ(format関数, %dなど)](http://dackdive.hateblo.jp/entry/2014/11/15/001318)
|
8
8
|
|
9
|
+
なお、`cloud9`ターミナル上`file`コマンドで.pyソースファイルの文字コードが確認できます。
|
9
10
|
|
10
11
|
```Python
|
11
12
|
# coding: UTF-8
|
@@ -31,6 +32,8 @@
|
|
31
32
|
```
|
32
33
|
can110:~/workspace $ python -V
|
33
34
|
Python 2.7.6
|
35
|
+
can110:~/workspace $ file test2.py
|
36
|
+
test2.py: UTF-8 Unicode text
|
34
37
|
can110:~/workspace $ python test2.py
|
35
38
|
stdout:UTF-8
|
36
39
|
stdin :UTF-8
|
2
本文修正
answer
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
`cloud9`環境で.pyファイルを新規作成+python2.x前提での回答です。
|
2
2
|
|
3
|
-
文字化けというより、タプルとして出力されており、UTF-8でのASCII範囲外の文字がバイト列のまま表示されているだけだと思います。
|
3
|
+
文字化けというより、`('入金額',bet)`が`タプル(Tuple)`として出力されており、UTF-8でのASCII範囲外の文字がバイト列のまま表示されているだけだと思います。
|
4
4
|
|
5
5
|
単体だと正常に出力されると思います。
|
6
6
|
また、文字化けせずに、文字列を連結して出力するには、書式指定して出力すればよいです。
|
1
コード修正
answer
CHANGED
@@ -21,6 +21,7 @@
|
|
21
21
|
print(s1) # taro
|
22
22
|
print(s2) # 次郎
|
23
23
|
print(s1, s2) # タプルとして出力される ('Taro', '\xe6\xac\xa1\xe9\x83\x8e')
|
24
|
+
print t # 同じく
|
24
25
|
print(t) # 同じく
|
25
26
|
|
26
27
|
print('s1は「%s」,s2は「%s」' % (s1,s2)) # s1は「Taro」,s2は「次郎」
|
@@ -37,5 +38,6 @@
|
|
37
38
|
次郎
|
38
39
|
('Taro', '\xe6\xac\xa1\xe9\x83\x8e')
|
39
40
|
('Taro', '\xe6\xac\xa1\xe9\x83\x8e')
|
41
|
+
('Taro', '\xe6\xac\xa1\xe9\x83\x8e')
|
40
42
|
s1は「Taro」,s2は「次郎」
|
41
43
|
```
|