スポンサードリンク

python-twitterで日本語を使うとUnicodeEncodeError

こんばんは、ころすけ(@wg_koro)です。

pythonロゴ

先日、久々にPython使ってコードを書いていた時のこと。

Twitter検索をしようと思ったんですよ。python-twitterを使って。いざ日本語で検索かけようとすると

UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position …(以下省略)
おなじみのエラー
※クリックで画像拡大できます

おい。またお前か orz

ローマ字の検索文言ならOK。けど日本語で検索かけようとすると上記のエラー。検索だけでなく、ツイート投稿など、Twitter APIと通信する部分でエラーになる様子。

Python2.x系でこのエラーは鉄板すぎる・・・。

日本語はURLエンコードしよう

結論から言うと、マルチバイト文字列はURLエンコードすればOK

実行結果
検索できた

はいおっけー。

うーん、DjangoなどのメジャーフレームワークがPython3に対応してきたし、そろそろ3系を本格的に使うかなぁ。3系であればUnicodeEncode / Decode Errorとおさらばできそうなんだよね。

Facebookページ / スポンサードリンク
2013-05-14 | Posted in ProgramNo Comments » 
Comment





Comment



スパム対策のため、コメントする際は下記の計算式を埋めてください。 計算式の有効期限が切れました。計算式の隣にある再読み込みボタンを押してください。