Buenas, bueno ... vengo con un problema que llevo arrastrando unos días. Tengo el siguiente problema, me llega una cadena de texto de retorno (result) y esta no es unicode pero contiene caracteres acentuados, ñ, etc ... <br>
<br><blockquote style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;" class="gmail_quote">result = profe.SearchQuestion(message, nickname.split("!")[0])<br><br>if result:<br>
s.send("PRIVMSG %s :%s, %s\r\n" % (channel, nick, result))<br></blockquote><br>He probado varias cosas para codificar:<br><br><br><blockquote style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;" class="gmail_quote">
s.send(unicode(("PRIVMSG %s :%s, %s\r\n" % (channel, nick, result))))<br></blockquote><br>o:<br><br><blockquote style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;" class="gmail_quote">
if type(txt) not is unicode: txt = txt.decode("utf-8")<br><blockquote style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;" class="gmail_quote">else: txt = txt.decode("iso-8859-15")<br>
</blockquote></blockquote><br> s.send("PRIVMSG %s :%s, %s\r\n" % (channel, nick, txt))<br><br>El caso es que desde mi entorno IDE cuando lo ejecuto no me casca y si lo ejecuto en un terminal casca con errores tipo:<br>
<br><br>Traceback (most recent call last):<br> File "./irc.py", line 327, in <module><br> Irc()<br> File "./irc.py", line 118, in __init__<br> s.send((unicode("PRIVMSG %s :%s, %s\r\n" % (channel, nick, result))))<br>
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 61: ordinal not in range(128)<br><br><br>Parece que desde el terminal trata a las cadenas como ascii ! y no tenia por que ... vamos, no entiendo como en el IDE funciona y en el terminal no.<br>
<br>Uso pydev como IDE y bash para lanzar el programa. Si sirve de algo en las cabeceras de cada archivo tengo:<br><br><br>#!/usr/bin/env python<br># -*- coding: utf-8 -*-<br><br>[...]<br><br><br>y esto por se acaso:<br><br>
<br>$ locale<br>LANG=es_ES.utf8<br>LC_CTYPE="es_ES.utf8"<br>LC_NUMERIC="es_ES.utf8"<br>LC_TIME="es_ES.utf8"<br>LC_COLLATE="es_ES.utf8"<br>LC_MONETARY="es_ES.utf8"<br>LC_MESSAGES="es_ES.utf8"<br>
LC_PAPER="es_ES.utf8"<br>LC_NAME="es_ES.utf8"<br>LC_ADDRESS="es_ES.utf8"<br>LC_TELEPHONE="es_ES.utf8"<br>LC_MEASUREMENT="es_ES.utf8"<br>LC_IDENTIFICATION="es_ES.utf8"<br>
LC_ALL=<br><br><br>Un saludo<br>