<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>The Power of Mind &#187; utf8</title>
	<atom:link href="http://draxus.org/weblog/tag/utf8/feed/" rel="self" type="application/rss+xml" />
	<link>http://draxus.org/weblog</link>
	<description>El blog de DraXus</description>
	<lastBuildDate>Thu, 08 Jul 2010 11:48:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Enviar email con valores de una base de datos UTF-8 en Python</title>
		<link>http://draxus.org/weblog/2010/07/08/enviar-email-con-valores-de-una-base-de-datos-utf-8-en-python/</link>
		<comments>http://draxus.org/weblog/2010/07/08/enviar-email-con-valores-de-una-base-de-datos-utf-8-en-python/#comments</comments>
		<pubDate>Thu, 08 Jul 2010 11:24:36 +0000</pubDate>
		<dc:creator>DraXus</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[encoding]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[smtplib]]></category>
		<category><![CDATA[utf8]]></category>

		<guid isPermaLink="false">http://draxus.org/weblog/?p=1351</guid>
		<description><![CDATA[Si tenemos un base de datos MySQL y queremos enviar emails usando la librería smptlib de python, nos puede dar más de un quebradero de cabeza si queremos usar la codificación UTF-8. Pongo aquí este breve manual que he hecho con la ayuda de Héctor, un compañero del proyecto en el que estoy trabajando ahora [...]]]></description>
			<content:encoded><![CDATA[<p>Si tenemos un base de datos MySQL y queremos enviar emails usando la <a href="http://docs.python.org/library/smtplib.html">librería smptlib de python</a>, nos puede dar más de un quebradero de cabeza si queremos usar la codificación UTF-8. Pongo aquí este breve manual que he hecho con la ayuda de Héctor, un compañero del proyecto en el que estoy trabajando ahora mismo.</p>
<p>Si usamos la librería <a href="http://sourceforge.net/projects/mysql-python/">MySQLdb</a>, tendremos que añadir unos parámetros adicionales para indicarle que nos vamos a conectar a una base de datos con codificación UTF-8.</p>
<div class="dean_ch" style="white-space: wrap;">con = MySQLdb.<span class="me1">connect</span><span class="br0">&#40;</span>host, <span class="kw3">user</span>, passwd, database, charset=<span class="st0">&quot;utf8&quot;</span>, init_command=<span class="st0">&quot;set names utf8&quot;</span><span class="br0">&#41;</span><br />
con.<span class="me1">names</span> = <span class="st0">&quot;utf8&quot;</span></div>
<p>Ahora creamos el mensaje a enviar:</p>
<div class="dean_ch" style="white-space: wrap;">mensaje_email = u<span class="st0">&#8216;Código de alarma: %s <span class="es0">\n</span>&#8216;</span> % codigo<br />
mensaje_email+= u<span class="st0">&#8216;ID de alarma: %s<span class="es0">\n</span>&#8216;</span>% ID_ALARMA<br />
mensaje_email+= u<span class="st0">&#8216;Descripción de alarma: %s<span class="es0">\n</span>&#8216;</span> % descripcion</p>
<p><span class="co1">#Formar mensaje de email tipo MIME.</span><br />
msg = MIMEText<span class="br0">&#40;</span>mensaje_email.<span class="me1">encode</span><span class="br0">&#40;</span><span class="st0">&#8216;utf-8&#8242;</span><span class="br0">&#41;</span>, _charset=<span class="st0">&quot;UTF-8&quot;</span><span class="br0">&#41;</span><br />
msg<span class="br0">&#91;</span><span class="st0">&#8216;Subject&#8217;</span><span class="br0">&#93;</span> = subject<br />
msg<span class="br0">&#91;</span><span class="st0">&#8216;From&#8217;</span><span class="br0">&#93;</span> = email_from<br />
msg<span class="br0">&#91;</span><span class="st0">&#8216;Reply-to&#8217;</span><span class="br0">&#93;</span> = email_reply_to<br />
msg<span class="br0">&#91;</span><span class="st0">&#8216;To&#8217;</span><span class="br0">&#93;</span> = email_to</div>
<p>Y por último, lo enviamos a través del servidor de correo:</p>
<div class="dean_ch" style="white-space: wrap;">mailServer = <span class="kw3">smtplib</span>.<span class="me1">SMTP</span><span class="br0">&#40;</span>mail_server<span class="br0">&#41;</span><br />
mailServer.<span class="me1">ehlo</span><span class="br0">&#40;</span><span class="br0">&#41;</span><br />
mailServer.<span class="me1">starttls</span><span class="br0">&#40;</span><span class="br0">&#41;</span><br />
mailServer.<span class="me1">ehlo</span><span class="br0">&#40;</span><span class="br0">&#41;</span><br />
mailServer.<span class="me1">login</span><span class="br0">&#40;</span>username, passwd<span class="br0">&#41;</span><br />
<span class="kw1">try</span>: &nbsp; &nbsp;<br />
&nbsp; &nbsp; &nbsp;mailServer.<span class="me1">sendmail</span><span class="br0">&#40;</span>username, to_addr, msg.<span class="me1">as_string</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><br />
<span class="kw1">except</span> BaseException, e:<br />
&nbsp; &nbsp; <span class="kw1">print</span> <span class="st0">&quot;Error al enviar e-mail: %s&quot;</span> % e<br />
mailServer.<span class="me1">close</span><span class="br0">&#40;</span><span class="br0">&#41;</span></div>
]]></content:encoded>
			<wfw:commentRss>http://draxus.org/weblog/2010/07/08/enviar-email-con-valores-de-una-base-de-datos-utf-8-en-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Haciendo un planet en python</title>
		<link>http://draxus.org/weblog/2009/05/07/haciendo-un-planet-en-python/</link>
		<comments>http://draxus.org/weblog/2009/05/07/haciendo-un-planet-en-python/#comments</comments>
		<pubDate>Thu, 07 May 2009 21:15:11 +0000</pubDate>
		<dc:creator>DraXus</dc:creator>
				<category><![CDATA[AAP]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[planet]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[rss]]></category>
		<category><![CDATA[unicode]]></category>
		<category><![CDATA[utf8]]></category>

		<guid isPermaLink="false">http://draxus.org/weblog/?p=1205</guid>
		<description><![CDATA[La práctica 5 de AAP consistía en crear un programa que recogiese las noticias de diferentes fuentes y las mostrase en un sólo documento HTML, lo que se viene a denominar un planet en la jerga bloguera. En mi caso lo he programado en Python haciendo uso de la librería feedparser y genero una página [...]]]></description>
			<content:encoded><![CDATA[<p>La <a href="http://geneura.ugr.es/~jmerelo/asignaturas/AAP/AAP-Practica-5.mhtml">práctica 5 de AAP</a> consistía en crear un programa que recogiese las noticias de diferentes fuentes y las mostrase en un sólo documento HTML, lo que se viene a denominar un <em>planet</em> en la jerga bloguera.</p>
<p>En mi caso lo he programado en <strong>Python</strong> haciendo uso de la librería <a href="http://www.feedparser.org/">feedparser</a> y genero una página HTML así como un feed usando la librería <a href="http://www.dalkescientific.com/Python/PyRSS2Gen.html">PyRSS2Gen</a>.</p>
<p>He usado la codificación de caracteres <strong>utf-8</strong> en todo momento, pero tengo un problema al generar el archivo html ya que no se guarda como utf-8 (si lo abrimos con un editor como geany podemos comprobar que está &#8220;sin codificación&#8221;), y luego al mostrarlo en el navegador no se ve bien. El caso es que en mi máquina sí se muestra correctamente, pero en el servidor donde lo he alojado no, como podéis ver en <a href="http://swecai.ugr.es/~planet_etsiit">http://swecai.ugr.es/~planet_etsiit</a>.  Si en el navegador seleccionáis la codificación unicode, se ve bien, e incluso en el header está el meta indicando que es utf-8. <del datetime="2009-05-07T22:42:17+00:00">¿Alguna idea de cómo solucionar esto?</del> <strong>Editado</strong>: <a href="http://bicosyes.com">blaxter</a> ha dado con la tecla en <a href="http://draxus.org/weblog/2009/05/07/haciendo-un-planet-en-python/#comment-8235">este comentario</a>. ¡Gracias!</p>
<p>Podéis descargar la aplicación libremente: <strong><a href="http://draxus.org/upload/planet.tgz">planet.tgz</a></strong>. En el fichero <em>index.html</em> viene una descripción más detallada del trabajo realizado y en la carpeta <em>scripts</em> se encuentra el fichero <em>actualizar.py</em> que se encarga de generar los ficheros <em>planet.html</em> y <em>feed.xml</em> a partir de los feeds situados en <em>sites.txt</em> cada cierto tiempo, que podemos indicar usando una tarea <em>cron</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://draxus.org/weblog/2009/05/07/haciendo-un-planet-en-python/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
