Решил попробовать Python и сделать что-то полезное.
Есть такой Twitter-клиент h-twt
Я добавли к нему немного функциональности, научил его отображать timeline в примитивном виде.
И обнаружил, что не могу отправлять в твиттер посты на русском.
Полный исходник тут: http://www.maxantonov.name/MyTwitting.html
Текст для отправки я получаю из QTextEdit
Фрагмент кода:
def postTweet(self):
mesg = self.txt.toPlainText()
post = urllib.urlencode({ 'status' : mesg })
try:
http = httplib2.Http()
http.force_exception_to_status_code = False
http.add_credentials(self.username, self.password)
resp, content = http.request(self.twitUpdate, 'POST', post)
max@desktop:~$ htwt
Traceback (most recent call last):
File "/home/max/bin/htwt", line 27, in postTweet
post = urllib.urlencode({ 'status' : mesg })
File "/usr/lib/python2.6/urllib.py", line 1265, in urlencode
v = quote_plus(str(v))
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-6: ordinal not in range(128)
Пробовал применять unicode к значению поля ввода перед отправкой, но в твиттере только знаки вопроса.
Подскажите, куда копать?
системная локаль: ru_RU.UTF-8