Top.Mail.Ru
python по русски -- Day
? ?
python по русски -- Day [entries|friends|calendar]
Ру_питон

[ userinfo | livejournal userinfo ]
[ calendar | livejournal calendar ]

Проблема с unicode [21 Jan 2009|01:59am]
Добрый вечер!
Я в Python я новичек, поэтому просьба особо не злится, т.к., чувствую, вопрос заезжанный. Но в гугле ответа так и не нашел.
Проблема: есть простая программка на Питоне, которая запрашивает xml файл с удаленного сервера, парсит и после этого отсылает по джабберу некоторые данные людям, которые указаны в xml:
Код:

# -*- coding: utf-8 -*-

from BeautifulSoup import BeautifulSoup
import sys,os,xmpp,urllib

jid="login@gmail.com"
pwd="password"

jid=xmpp.protocol.JID(jid)
cl=xmpp.Client(jid.getDomain(),debug=[])
cl.connect()
cl.auth(jid.getNode(),pwd)

result = urllib.urlopen("http://server.com/file.xml").read()
xml = BeautifulSoup(result)
for item in xml.findAll('item'):
    if (item.type.string == 'jabber'):
        cl.send(xmpp.protocol.Message(item.recipient.string, item.message.string))

cl.disconnect()

На локальной машине(MacOS X) все работает замечательно, но стоило загрузить скрипт на удаленный сервер под Ubuntu8.04 x64 и получил следующее:

    kolger@server:~/jabber$ python send.py
    Traceback (most recent call last):
      File "send.py", line 23, in <module>
        cl.send(xmpp.protocol.Message(item.recipient.string, item.message.string))
      File "/usr/lib/python2.5/site-packages/xmpp/protocol.py", line 418, in __init__
        if body: self.setBody(body)
      File "/usr/lib/python2.5/site-packages/xmpp/protocol.py", line 431, in setBody
        self.setTagData('body',val)
      File "/usr/lib/python2.5/site-packages/xmpp/simplexml.py", line 243, in setTagData
        except: self.addChild(tag,attrs,payload=[ustr(val)])
      File "/usr/lib/python2.5/site-packages/xmpp/simplexml.py", line 30, in ustr
        try: r=what.__str__()
    UnicodeEncodeError: 'ascii' codec can't encode character u'\u0412' in position 0: ordinal not in range(128)

По запросу "UnicodeEncodeError: 'ascii' codec can't encode character" в гугле много всего, но ни одного ответа как это пофиксить. Буду признателен за любую помощь или ссылку. Спасибо большое.
6 comments|post comment

Web-программист, Mail.Ru, Москва, 45 000 руб. [21 Jan 2009|12:40pm]

 

Collapse )

 Требования:

 Обязательно:

  • опыт работы с Linux
  • опыт программирования на Perl или Python или shell
  • знание SQL

Желательно:

  • знание MySQL, JavaScript (AJAX), HTML
Collapse )

 


10 comments|post comment

navigation
[ viewing | January 21st, 2009 ]
[ go | previous day|next day ]
Image