<?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>premeditado&#187; MySQL</title>
	<atom:link href="http://premeditado.com/index.php/topics/mysql/feed/" rel="self" type="application/rss+xml" />
	<link>http://premeditado.com</link>
	<description>más de lo mismo pero a mi manera</description>
	<lastBuildDate>Mon, 12 Jul 2010 12:19:08 +0000</lastBuildDate>
	
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Apoyando la campaña para &#8220;salvar MySQL&#8221;</title>
		<link>http://premeditado.com/index.php/2010/01/apoyando-la-campana-para-salvar-mysql/</link>
		<comments>http://premeditado.com/index.php/2010/01/apoyando-la-campana-para-salvar-mysql/#comments</comments>
		<pubDate>Wed, 13 Jan 2010 17:08:35 +0000</pubDate>
		<dc:creator>luison</dc:creator>
				<category><![CDATA[LAMP]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Opinión]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://premeditado.com/index.php/2010/01/apoyando-la-campana-para-salvar-mysql/</guid>
		<description><![CDATA[<p>Habría habido una alternativa pero la realidad es que internet no sería lo que es, si no existiera MySQL, el motor de base de datos de código abierto por excelencia que soportan la gran mayoría de aplicaciones, blogs y CMS en casi cualquier lenguaje.<br />Si cuando Sun la adquirió hace algunos años muchos temieron los cambios que se podían avecinar, ahora que el gigante Oracle ha comprado a Sun, el temor es aún mayor pues el olor a monopolio es alto y dependerá sólo de la buena fe de Oracle el mantener la evolución del proyecto.<br />En <a href="http://helpmysql.org">helpmysql.org</a> lanzan una petición a la Union Europea para que estudie el caso a nivel de competencia, entre otras iniciativas.</p>
]]></description>
			<content:encoded><![CDATA[<p>Habría habido una alternativa pero la realidad es que internet no sería lo que es, si no existiera MySQL, el motor de base de datos de código abierto por excelencia que soportan la gran mayoría de aplicaciones, blogs y CMS en casi cualquier lenguaje.<br />Si cuando Sun la adquirió hace algunos años muchos temieron los cambios que se podían avecinar, ahora que el gigante Oracle ha comprado a Sun, el temor es aún mayor pues el olor a monopolio es alto y dependerá sólo de la buena fe de Oracle el mantener la evolución del proyecto.<br />En <a href="http://helpmysql.org">helpmysql.org</a> lanzan una petición a la Union Europea para que estudie el caso a nivel de competencia, entre otras iniciativas.</p>
]]></content:encoded>
			<wfw:commentRss>http://premeditado.com/index.php/2010/01/apoyando-la-campana-para-salvar-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pasando tablas de latin1 a UTF8</title>
		<link>http://premeditado.com/index.php/2009/12/pasando-tablas-de-latin1-a-utf8/</link>
		<comments>http://premeditado.com/index.php/2009/12/pasando-tablas-de-latin1-a-utf8/#comments</comments>
		<pubDate>Mon, 21 Dec 2009 10:23:10 +0000</pubDate>
		<dc:creator>luison</dc:creator>
				<category><![CDATA[How to]]></category>
		<category><![CDATA[LAMP]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://premeditado.com/index.php/2009/12/pasando-tablas-de-latin1-a-utf8/</guid>
		<description><![CDATA[<p>En general para cualquier aplicación, pero en particular para Wordpress, suele ser un lío el convertir una tabla antigua que solía estar en Latin1 a un formato más versátil sobretodo para el castellano, como UTF-8. Detallo mi experiencia con una de Wordpress por si resulta útil a alguien.</p>
<p>Un antiguo blog que queríamos actualizar tenía sus tablas en Latin1 y queríamos convertirla a una completamente en UTF8 (es decir BBDD y tablas). Es importante tener en cuenta tanto la codificación de tablas originales como la del propio wordpress (&#8220;define(&#8216;DB_CHARSET&#8217;, &#8216;utf8&#8242;);&#8221;), porque las opciones de conversión varían en cada caso. En este caso concreto es:<br />
<blockquote>BBDD en Latin1<br />Tablas en Latin1<br />Wordpress DB_CHARSET: UTF8</p></blockquote>
<p>El objetivo era pasarlo todo a UTF-8 que es como mantenemos todas las tablas que podemos ya. Encontré diversas pistas sobre conversiones <a href="http://climbtothestars.org/archives/2004/07/18/converting-mysql-database-contents-to-utf-8/">como ésta</a>, haciendo uso de ICONV para convertir el texto del dump, pero me costó un rato darme cuenta de que nuestros datos NO necesitaban conversión porque estaban ya en UTF-8 (el WP los almacenaba así por su configuración), asi que esa ruta no sirvió. Su la codificación del WP hubiera estado en latin1, probablemente si es el camino correcto. Pensé entonces que sencillamente modificando todos los &#8220;DEFAULT CHARSET=latin1;&#8221; del dump de MySQL a &#8220;utf8&#8243; estaría todo listo pero a pesar de ello, nada.</p>
<p>Finalmente, encontré <a href="http://blog.wuxinan.net/archives/255">esta entrada </a>que me dio una pista adicional sobre la que ya sospechaba. Al hacer el dump, el propio MySQL está haciendo una conversión en función al sistema cliente, por lo que si los datos estaban ya codificados y sólo hay que cambiar la creación al importar la tabla, es importante que la exportación se haga también en el formato antiguo:</p>
<blockquote><p>$ mysqldump &#8211;<b>default-character-set=latin1</b> &#8211;databases wordpress &gt; m.sql</p></blockquote>
<p>Después a modificar la SQL para que al importar la nueva se haga ya en UTF-8. </p>
<blockquote><p>$ replace &#8220;CHARSET=latin1&#8243; &#8220;CHARSET=utf8&#8243; \<br />&nbsp;&nbsp;&nbsp; &#8220;SET NAMES latin1&#8243; &#8220;SET NAMES utf8&#8243; &lt; m.sql &gt; m2.sql</p></blockquote>
<p>Ojo, porque el dump creará la bbdd con el mismo nombre en algunos casos, así que comprobar el dump también esto, sobretodo si pensaís cambiar el nombre a la misma. Comprobar si teneís:</p>
<blockquote><p>CREATE DATABASE /*!32312 IF NOT EXISTS*/ `cambiarestenombrealdedestino` /*!40100 DEFAULT CHARACTER SET utf8 */;</p></blockquote>
<p>El resto lo podéis encontrar en alguno de los enlaces. </p>
<p>Cabe mencionar también, aunque no viene al caso, que además del cambio de codificación estaba haciendo un upgrade de WP de la version 2.0 a la 2.8.6, por lo que cada vez que probabá, había que hacer un upgrade, cambiar la tabla options para la copia de pruebas, tema, etc&#8230; La actualización de versión de WP sorprendentemente sin problema alguno, aunque desactive los plugins la primera vez, con tanto dump se me olvidó al final, pero la copia nueva funcionó sin problemas. Eso si, si no hay tema en la tabla wp_options tal vez tengáis que setear un par de campos a mano con el nombre de alguno de los nuevos, si es que por si mismo, no se setea en &#8220;classic&#8221;.</p>
<p>No se si me explicado muy bien&#8230; pero de haber encontrado estas pistas antes, me hubiera ahorrado al menos un par de horitas de pruebas.</p>
]]></description>
			<content:encoded><![CDATA[<p>En general para cualquier aplicación, pero en particular para Wordpress, suele ser un lío el convertir una tabla antigua que solía estar en Latin1 a un formato más versátil sobretodo para el castellano, como UTF-8. Detallo mi experiencia con una de Wordpress por si resulta útil a alguien.</p>
<p>Un antiguo blog que queríamos actualizar tenía sus tablas en Latin1 y queríamos convertirla a una completamente en UTF8 (es decir BBDD y tablas). Es importante tener en cuenta tanto la codificación de tablas originales como la del propio wordpress (&#8220;define(&#8216;DB_CHARSET&#8217;, &#8216;utf8&#8242;);&#8221;), porque las opciones de conversión varían en cada caso. En este caso concreto es:<br />
<blockquote>BBDD en Latin1<br />Tablas en Latin1<br />Wordpress DB_CHARSET: UTF8</p></blockquote>
<p>El objetivo era pasarlo todo a UTF-8 que es como mantenemos todas las tablas que podemos ya. Encontré diversas pistas sobre conversiones <a href="http://climbtothestars.org/archives/2004/07/18/converting-mysql-database-contents-to-utf-8/">como ésta</a>, haciendo uso de ICONV para convertir el texto del dump, pero me costó un rato darme cuenta de que nuestros datos NO necesitaban conversión porque estaban ya en UTF-8 (el WP los almacenaba así por su configuración), asi que esa ruta no sirvió. Su la codificación del WP hubiera estado en latin1, probablemente si es el camino correcto. Pensé entonces que sencillamente modificando todos los &#8220;DEFAULT CHARSET=latin1;&#8221; del dump de MySQL a &#8220;utf8&#8243; estaría todo listo pero a pesar de ello, nada.</p>
<p>Finalmente, encontré <a href="http://blog.wuxinan.net/archives/255">esta entrada </a>que me dio una pista adicional sobre la que ya sospechaba. Al hacer el dump, el propio MySQL está haciendo una conversión en función al sistema cliente, por lo que si los datos estaban ya codificados y sólo hay que cambiar la creación al importar la tabla, es importante que la exportación se haga también en el formato antiguo:</p>
<blockquote><p>$ mysqldump &#8211;<b>default-character-set=latin1</b> &#8211;databases wordpress &gt; m.sql</p></blockquote>
<p>Después a modificar la SQL para que al importar la nueva se haga ya en UTF-8. </p>
<blockquote><p>$ replace &#8220;CHARSET=latin1&#8243; &#8220;CHARSET=utf8&#8243; \<br />&nbsp;&nbsp;&nbsp; &#8220;SET NAMES latin1&#8243; &#8220;SET NAMES utf8&#8243; &lt; m.sql &gt; m2.sql</p></blockquote>
<p>Ojo, porque el dump creará la bbdd con el mismo nombre en algunos casos, así que comprobar el dump también esto, sobretodo si pensaís cambiar el nombre a la misma. Comprobar si teneís:</p>
<blockquote><p>CREATE DATABASE /*!32312 IF NOT EXISTS*/ `cambiarestenombrealdedestino` /*!40100 DEFAULT CHARACTER SET utf8 */;</p></blockquote>
<p>El resto lo podéis encontrar en alguno de los enlaces. </p>
<p>Cabe mencionar también, aunque no viene al caso, que además del cambio de codificación estaba haciendo un upgrade de WP de la version 2.0 a la 2.8.6, por lo que cada vez que probabá, había que hacer un upgrade, cambiar la tabla options para la copia de pruebas, tema, etc&#8230; La actualización de versión de WP sorprendentemente sin problema alguno, aunque desactive los plugins la primera vez, con tanto dump se me olvidó al final, pero la copia nueva funcionó sin problemas. Eso si, si no hay tema en la tabla wp_options tal vez tengáis que setear un par de campos a mano con el nombre de alguno de los nuevos, si es que por si mismo, no se setea en &#8220;classic&#8221;.</p>
<p>No se si me explicado muy bien&#8230; pero de haber encontrado estas pistas antes, me hubiera ahorrado al menos un par de horitas de pruebas.</p>
]]></content:encoded>
			<wfw:commentRss>http://premeditado.com/index.php/2009/12/pasando-tablas-de-latin1-a-utf8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
