アフィリエイト広告を利用しています

広告

この広告は30日以上更新がないブログに表示されております。
新規記事の投稿を行うことで、非表示にすることが可能です。
posted by fanblog

2016年01月07日

【py】python2.7とmysqlと文字コード

いきなりdjangoをやろうとしたから初心者(=me)つまづいんだ。。。と改めて

pythonをコマンドプロンプトで実行する基礎から学びだしました。

もっぱらお世話になっているサイト→ここ

私の実行環境だと、日本語はすべて

print u"仮"


としないと、文字コードが化けてしまう問題がありながらも、最初に「u」つければいいだけじゃん

と楽観視していたのですが、そこでぶつかった壁が

DBからとってきた値の文字化けでした。

このselectサンプルを実行すると

===== Hit! =====
code -- 1
name -- python
===== Hit! =====
code -- 2
name -- 繝代う繧ス繝ウ
===== Hit! =====
code -- 3
name -- 縺ア縺・◎繧

となってしまうんです。utf8に指定しているのになんでだろう。

結果
文字コードの重複指定?
for row in result:
print "===== Hit! ====="
print "code -- " + row[0]
print "name -- " + row[1] #row[0].encode('utf-8') にするとかえって日本語が文字化ける

こうすると
===== Hit! =====
code -- 1
name -- python
===== Hit! =====
code -- 2
name -- パイソン
===== Hit! =====
code -- 3
name -- ぱいそん

が表示されるようになりました。

先行のかたがたのブログを読ませていただくと、文字コードが永遠のテーマのように書かれていますが
自分で経験すると本当にそのとおりなのかもしれないなと理解した次第でした。
<< 2016年01月 >>
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            
検索
ファン
タグクラウド
最新コメント
最新記事
写真ギャラリー
カテゴリアーカイブ
プロフィール
×

この広告は30日以上新しい記事の更新がないブログに表示されております。