<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<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/"
	>

<channel>
	<title>iconv &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://en.wordpress.com/tag/iconv/</link>
	<description>Feed of posts on WordPress.com tagged "iconv"</description>
	<pubDate>Sat, 26 Dec 2009 07:14:15 +0000</pubDate>

	<generator>http://en.wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[Iconv]]></title>
<link>http://linuxindetails.wordpress.com/2009/12/05/iconv/</link>
<pubDate>Sat, 05 Dec 2009 16:14:17 +0000</pubDate>
<dc:creator>linuxindetails</dc:creator>
<guid>http://linuxindetails.wordpress.com/2009/12/05/iconv/</guid>
<description><![CDATA[iconv is a tool dedicated to character sets conversion. Install iconv : root@localhost:~# apt-get in]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><strong>iconv</strong> is a tool dedicated to character sets conversion.</p>
<p>Install<strong> iconv</strong> :</p>
<p><strong>root@localhost:~# apt-get install iconv</strong></p>
<p>To see all the character sets available with <strong>iconv</strong> :</p>
<p><strong>fool@localhost:~$ iconv &#8211;list</strong></p>
<p>To convert a file encoded in <strong>iso-8859-15</strong> into <strong>utf-8</strong>, here is the complete command to run :</p>
<p><strong>fool@localhost:~$ iconv -f iso-8859-15 -t utf-8 file_to_convert</strong></p>
<p>By default, the result is displayed on the standard output.</p>
<p>You can redirect it :</p>
<p><strong>fool@localhost:~$ iconv -f iso-8859-15 -t utf-8 file_to_convert &#62; file_newly_converted</strong></p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" src="http://img.zemanta.com/pixy.gif?x-id=3d2255e7-e517-864b-beab-648307e6530b" alt="" /></div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[קימפול libhdate לחלונות עם NLS]]></title>
<link>http://dosilinux.wordpress.com/2009/10/13/%d7%a7%d7%99%d7%9e%d7%a4%d7%95%d7%9c-libhdate-%d7%9c%d7%97%d7%9c%d7%95%d7%a0%d7%95%d7%aa-%d7%a2%d7%9d-nls/</link>
<pubDate>Tue, 13 Oct 2009 12:27:38 +0000</pubDate>
<dc:creator>moshewagner</dc:creator>
<guid>http://dosilinux.wordpress.com/2009/10/13/%d7%a7%d7%99%d7%9e%d7%a4%d7%95%d7%9c-libhdate-%d7%9c%d7%97%d7%9c%d7%95%d7%a0%d7%95%d7%aa-%d7%a2%d7%9d-nls/</guid>
<description><![CDATA[הלוח, שבדיוק כתבתי, מתבסס על libhdate. כמיטב המסורת, libhdate תומך ב NLS, קרי &#8211; Native Languag]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a href="http://dosilinux.wordpress.com/2009/10/12/luach-%D7%A2%D7%95%D7%93-%D7%9C%D7%95%D7%97-%D7%A9%D7%A0%D7%94-%D7%A2%D7%91%D7%A8%D7%99/">הלוח</a>, שבדיוק כתבתי, מתבסס על libhdate.</p>
<p>כמיטב המסורת, libhdate תומך ב NLS, קרי &#8211; Native Language Support. או בתרגום חופשי &#8211; &#8220;תמיכה בשפת המשתמש&#8221;. זה אומר שמשתמש שהלוקאל שלו אנגלי ירצה מן הסתם לקבל מ libhdate ערך אנגלי, ולהפך, משתמש עם לוקאל עברי ירצה פלט בעברית.</p>
<p>התרגום נעשה בעזרת קריאה ל- gettext, ונשמר כקבצים נפרדים, בלתי תלויים בתוכנה (כך שניתן להתקין ולמחוק תרגומים בנפרד ממנה, למשל).</p>
<p>כמובן שאפשר לקבוע גם לוקאל לתוכנה ספציפית, ולהכריח רק אותה להיות בשפה מסויימת. למשל, אצלי כל המחשב באנגלית, אך אני אוהב כש- libhdate נותן תוצאות בעברית, כמובן.<br />
אז איך דואגים לכך? קובעים לוקאל מקומית:</p>
<div dir="ltr">
<pre class="brush: plain;">
hdmoshe@debian:~$ hdate
Tuesday, 13 October 2009, 25 Tishrei 5770
moshe@debian:~$ LC_ALL=he_IL hdate
שלישי, 13 אוקטובר 2009, כ&#34;ה תשרי התש&#34;ע
</pre>
</div>
<p>כך עשיתי גם בלוח שלי למשל, אלא ששיניתי את הלוקאל מתוך הקוד עצמו, ולא הותרתי למשתמש בחירה בעניין.</p>
<p>כל זה טוב ויפה על מערכות נורמליות, לינוקס למשל.<br />
אך מה לגבי חלונות?<br />
זה אמנם אפשרי, אך לא תמיד כזה פשוט. <a href="http://whatsup.org.il/forum/51833">בעזרתו</a> האדיבה של ארתיום הצלחתי בסופו של דבר, ובלחץ של אחרים אני מפרסם כאן איך עשיתי את זה. אני לא מתחייב שזו הדרך המושלמת, אבל אצלי לפחות היא עבדה.</p>
<p>אני מפרסם פה את הקווים הכללים. בהחלט נדרש כאן ידע קודם של התקנת תוכנות, קימפול תוכנות, והבנה של מי נגד מי בלינוקס. אל תצפו לצעד-צעד. </p>
<p>קודם כל נחלק את הבעייה לשתיים -<br />
א) צריך לגרום ל gettext לעבוד על חלונות, בשביל התרגום בפועל, ולמקם את קבצי התרגום של libhdate במקום הנכון.<br />
ב) צריך לקמפל את libhdate עם תמיכה ב NLS, ולשם כך צריך את ספריות הפיתוח שקשורות ב gettext, <strong>מקומפלות לחלונות</strong>.</p>
<p>א&#8217; לא מסובך. מתקינים gettext for windows, ושלום על ישראל. את החלק השני שלו נעשה אחרי ב&#8217;.</p>
<p>איך עושים את ב&#8217;?</p>
<p>בשלב הראשון צריך לארגן cross compiler של mingw ללינוקס, ולוודא שהוא עובד. התקנה שלו ממנהל החבילות אמורה להספיק.<br />
כדאי ליצור לו תוכנית הדגמה קטנה (שלום עולם יספיק), לקמפל איתו, ולראות שנוצר קובץ .exe.  הקובץ הזה צריך לעבוד על wine וחלונות, אך לא על לינוקס. מצויין, אפשר להמשיך.</p>
<p>עכשיו, אנחנו יכולים לקמפל גם תוכנות מורכבות יותר לחלונות, בעזרת הרצת</p>
<div dir="ltr">
<pre class="brush: plain;">
./configure --host=i586-mingw32msvc --prefix=/path/for/win/version
</pre>
</div>
<p>מה שיצור לנו makefile שמותאם ל mingw. אם הכל תקין &#8211; make עכשיו יבנה את התוכנה, או הספרייה, לחלונות.</p>
<p>דא עקא, שאם ננסה לעשות את אותו דבר עכשיו עם libhdate, נקבל:</p>
<div dir="ltr">
<pre class="brush: plain;">
...
checking for iconv... no, consider installing GNU libiconv
checking for GNU gettext in libintl... no
checking whether to use NLS... no
</pre>
</div>
<p>בגלל שחסר לנו, כפי שהזכרנו, את libiconv ו libintl.</p>
<p>כדי לטפל ב libiconv, הורדתי את קוד המקור שלו, קימפלתי לחלונות עם mingw, ודחפתי באיזה מקום. צריך להגיד ל configure איפה זה יוצא, אבל על זה בהמשך.</p>
<p>את קוד המקור של libintl לא מצאתי. אולי אם בונים את gettext לחלונות זה יכלול את זה, לא ניסיתי. התקנתי הרי את gettext לחלונות קודם, אז העתקתי את כל מה שהתקנתי, ודחפתי  לתקייה כלשהי על הלינוקס.</p>
<p>הדגש הוא על הקבצים libintl.h, libintl.dll.a ו- libintl.lib .<br />
צריך למקם אותם איפשהו, אני למשל מיקמתי אותם תחת:</p>
<div dir="ltr">
/usr/winlib/libintl
</div>
<p>עכשיו שיש לנו את gettext (עם libintl) ו libiconv , צריך רק ליידע את configure.<br />
שיטוט באניטרנט העלה את האפשרות של שימוש ב env, ולכן הפקודה יצאה כך:</p>
<div dir="ltr">
<pre class="brush: plain;">
env CPPFLAGS=&#34;-I/usr/winlib/iconv/include -I/usr/winlib/libintl&#34; LDFLAGS=&#34;-lintl -L/usr/winlib/iconv/lib -L/usr/winlib/linintl&#34; ./configure --host=i586-mingw32msvc --prefix=/usr/winlib/libhdate
</pre>
</div>
<p>ואכן:</p>
<div dir="ltr">
<pre class="brush: plain;">
checking for GNU gettext in libc... no
checking for iconv... yes
checking for working iconv... guessing yes
checking how to link with libiconv... /usr/winlib/iconv/lib/libiconv.dll.a -L/usr/winlib/iconv/lib
checking for GNU gettext in libintl... yes
checking whether to use NLS... yes
</pre>
</div>
<p>הידד!<br />
אבל לפני שאנחנו רצים לבנות את libhdate, כדאי לתקן את המקום שבו הוא מחפש את המילון, כדי שיתאים גם לחלונות.<br />
אם נפתח את קובץ ה makefile שבתקייה src ידנית, נגלה לחרדתנו את הקביעה:</p>
<div dir="ltr">
<pre class="brush: plain;">
... -DPACKAGE_LOCALE_DIR=\&#34;/usr/winlib/libhdate/share/locale\&#34;
</pre>
</div>
<p>זה אולי נתיב סביר ללינוקס, אבל אין לי מושג איפה הוא ייצא בחלונות.<br />
כפיתרון, שיניתי ידנית את הערך ל:</p>
<div dir="ltr">
<pre class="brush: plain;">
-DPACKAGE_LOCALE_DIR=\&#34;.\&#34;
</pre>
</div>
<p>זה אומר שהמילון יחופש במיקום של התוכנה, ובמקרה שלנו, תחת</p>
<div dir="ltr">
<pre class="brush: plain;">
he/LC_MESSAGES/libhdate.mo
</pre>
</div>
<p>מהתקייה שבה התוכנה שלנו.</p>
<p>זהו, עכשיו נבנה את libhdate, נתקין, ואת כל מה שיצא, נעתיק איפשהו לחלונות.</p>
<p>עכשיו צריך לעדכן את קובץ ה pro של Luach, כך שהקטע הבא יתאים למיקום של libhdate:</p>
<div dir="ltr">
<pre class="brush: plain;">
 win32 {
    LIBS += -lintl \
        -LC:\libhdate\lib
    INCLUDEPATH += C:\libhdate\include
}
</pre>
</div>
<p>כעת הקימפול צריך לעבוד עם libhdate שקומפל עם NLS, ובא לציון גואל (כמעט).</p>
<p>נותר לנו עדיין להעתיק את קובץ התרגום (libhdate.mo), אל התקייה he\LC_MESSAGES שממוקמת איפה שהבינארי שנוצר לנו נמצא.</p>
<p>זהו. אם הכל הלך כמו שצריך &#8211; התוכנה אמורה לקבל עברית כשהיא משתמשת ב libhdate. אם לא &#8211; באסה. נסו שוב.</p>
<p>בהצלחה,<br />
משה</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Cometdocs, conversor de archivos]]></title>
<link>http://calicobolico.wordpress.com/2009/06/03/cometdocs-conversor-de-archivos/</link>
<pubDate>Wed, 03 Jun 2009 22:33:05 +0000</pubDate>
<dc:creator>calicobolico</dc:creator>
<guid>http://calicobolico.wordpress.com/2009/06/03/cometdocs-conversor-de-archivos/</guid>
<description><![CDATA[No necesitas instalar nada en tu ordenador. Solo tienes que subir el archivo que quieres convertir, ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p style="text-align:left;"><a rel="attachment wp-att-1636" href="http://calicobolico.wordpress.com/2009/06/03/cometdocs-conversor-de-archivos/dibujo/" target="_blank"><img class="aligncenter size-full wp-image-1636" title="Dibujo" src="http://calicobolico.wordpress.com/files/2009/06/dibujo.jpg" alt="Dibujo" width="472" height="433" /></a>No necesitas instalar nada en tu ordenador. Solo tienes que subir el archivo que quieres convertir, elegir el formato en el que quiere convertir el archivo, dejar tu email y <a href="http://www.cometdocs.com/" target="_blank">Cometdoc</a> te envía el resultado en un segundín sin afectar al archivo original.</p>
<p>Lo bueno que tiene esta página es que puedes hacer hasta 50 conversiones distintas en el mismo sitio.<!--more--></p>
<p>Esta es la lista de distintas conversiones:</p>
<p><strong>Convert from PDF:</strong><br />
(some conversion support OCR conversion for scanned PDF)<br />
PDF to Open Office Writer format<br />
PDF to Open Office Calc format<br />
PDF to Open Office Impress format<br />
PDF to image BMP<br />
PDF to image JPG<br />
PDF to image GIF<br />
PDF to image PNG<br />
PDF to image TIF<br />
PDF to text<br />
PDF to HTML<br />
PDF to MS Word<br />
PDF to MS Excel<br />
PDF to AutoCAD (dwg)<br />
PDF to AutoCAD (dxf)</p>
<p><strong>Convert to PDF:</strong><br />
Bmp to PDF<br />
Word (doc, docx) to PDF<br />
Gif to PDF<br />
htm to PDF<br />
html to PDF<br />
jpeg to PDF<br />
jpg to PDF<br />
log to PDF<br />
mht to PDF<br />
mhtml to PDF<br />
ODF to PDF<br />
ODP to PDF<br />
ODS to PDF<br />
ODT to PDF<br />
PNG to PDF<br />
PPS to PDF<br />
PPT to PDF<br />
RTF to PDF<br />
SDA to PDF<br />
SDC to PDF<br />
SDD to PDF<br />
SDS to PDF<br />
SDW to PDF<br />
SXC to PDF<br />
SXD to PDF<br />
SXI to PDF<br />
SXM to PDF<br />
SXW to PDF<br />
TIF to PDF<br />
TIFF to PDF<br />
TXT to PDF<br />
WRI to PDF<br />
Excel (xls, xlst) to PDF<br />
Publisher (pub) to PDF</p>
<p><strong>Convert from XPS:</strong><br />
Convert to Open Office Writer format<br />
Convert to Open Office Calc format<br />
Convert to Open Office Impress format<br />
Convert to image BMP<br />
Convert to image JPG<br />
Convert to image GIF<br />
Convert to image PNG<br />
Convert to image TIF<br />
Convert to text<br />
Convert to HTML<br />
Convert to MS Word<br />
Convert to MS Exsel</p>
<p style="margin:0;"><strong>Other File Conversions:</strong><br />
Excel to CSV (XLSTOCSV)<br />
XML to LINT (XMLLINT)<br />
HTML to RSS (HTMLTORSS)<br />
ASC TO PDB<br />
ASC TO EBC<br />
UNIX TO DOS<br />
DOS TO UNIX<br />
MAC TO UNIX<br />
FIX TO DELIM<br />
DELIM TO FIX<br />
CSV TO DELIM<br />
SORT FILE<br />
PDF INFO<br />
COMPARE FILES<br />
MP3 INFO<br />
FILEINFO<br />
ICONV</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[[CC] Conversão entre ISO-8859-1 e UTF-8]]></title>
<link>http://danielbauermann.wordpress.com/2009/04/24/cc-conversao-entre-iso-8859-1-e-utf-8/</link>
<pubDate>Fri, 24 Apr 2009 18:40:44 +0000</pubDate>
<dc:creator>Daniel Bauermann</dc:creator>
<guid>http://danielbauermann.wordpress.com/2009/04/24/cc-conversao-entre-iso-8859-1-e-utf-8/</guid>
<description><![CDATA[Não sei se o iconv está disponível em todas as distribuições, mas no Slackware tem. $ iconv -f iso-8]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Não sei se o iconv está disponível em todas as distribuições, mas no Slackware tem. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<pre>$ iconv -f iso-8859-1 -t utf-8 arquivo_iso.txt &#62; arquivo_utf.txt</pre>
<blockquote><p>Dentre as páginas que citam o comando, uma delas é <a title="Outra blog que cita como executar a conversão" href="http://www.opcaolinux.com.br/gnulinux/dicas/14-comandos-linux/33-como-converter-arquivos-iso-8859-1-para-utf-8-e-vice-versa.html">esta</a> &#8211; de onde busquei o exemplo.</p></blockquote>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[ajuste a água conforme o foobar]]></title>
<link>http://pythonlog.wordpress.com/2009/03/03/ajuste-a-agua-conforme-o-foobar/</link>
<pubDate>Tue, 03 Mar 2009 20:06:48 +0000</pubDate>
<dc:creator>nosklo</dc:creator>
<guid>http://pythonlog.wordpress.com/2009/03/03/ajuste-a-agua-conforme-o-foobar/</guid>
<description><![CDATA[Geralmente uma simples conversa de IRC gera um projeto. Desta vez foi o meu iconv_codecs, um módulo ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Geralmente uma simples conversa de IRC gera um projeto. Desta vez foi o meu <a title="iconv_codecs no pypi" href="http://pypi.python.org/pypi/iconv_codecs" target="_blank">iconv_codecs</a>, um módulo python para encodificação e decodificação usando os codecs definidos pelo <a title="GNU libiconv" href="http://www.gnu.org/software/libiconv/" target="_blank">GNU iconv</a>. Leia aqui a conversa na íntegra:</p>
<p><!--more-->&#60;NandoFlorestan&#62; socorro, o Python não tem uma encoding de que preciso. self._current_txt = pay.decode(charset, &#8216;ignore&#8217;)<br />
&#60;NandoFlorestan&#62; LookupError: unknown encoding: ansi_x3.110-1983<br />
&#60;nosklo&#62; NandoFlorestan, crie seu proprio encoding e registre-o<br />
&#60;NandoFlorestan&#62; heheheheh. Talvez eu consiga usar o iconv<br />
&#60;vambboy nosklo, como criar um coding?<br />
&#60;vambboy&#62; num sabia q era possível<br />
&#60;nosklo&#62; vambboy, faca uma funcao pra encodificar, uma pra decodificar, uma classe que encodifique e decodifique incrementalmente, e subclasses para escrita e leitura de streams<br />
&#60;NandoFlorestan&#62; vambboy, tá interessado? Quer fazer pra mim? Implementa aí o tal ansi_x3.110-1983&#8230;<br />
&#60;nosklo&#62; vambboy, em seguida registre estas funcoes usando codecs.register()<br />
&#60;NandoFlorestan O nosklo é uma enciclopédia<br />
&#60;nosklo&#62; eu ja fiz um encoding pra 13375p34k<br />
&#60;vambboy&#62;  é o eu diga, ele nasceu com sangue de cobra<br />
&#60;vambboy&#62; e cabra era o python<br />
&#60;vambboy&#62; kkkkkk<br />
&#60;NandoFlorestan&#62; &#8220;é o eu diga&#8221;?<br />
&#60;NandoFlorestan&#62; cabra?<br />
&#60;vambboy&#62; foi mal<br />
&#60;vambboy&#62; era cobra<br />
&#60;nosklo&#62; precisamos de um encoding pra decodificar as frases do vambboy<br />
&#60;NandoFlorestan&#62; só por causa disso, meu próximo software em python vai se chamar CABRÓN<br />
&#60;vambboy nosklo, c te ofendi desculpa<br />
&#60;nosklo&#62; ofendeu nada, eu nem entendi o q vc falou<br />
&#60;vambboy&#62; kkkkkkkkkkkkk<br />
* NandoFlorestan vê que vambboy está na berlinda&#8230;<br />
&#60;NandoFlorestan&#62; cabra + python = cabrón<br />
&#60;nosklo&#62; NandoFlorestan, tem alguma documentação deste encoding? não é mto difícil implementar encodings.<br />
&#60;NandoFlorestan&#62; Maldito seja o feadapot que resolveu me mandar email com essa desgraça&#8230;<br />
* NandoFlorestan não quer ficar fazendo encodings, saco<br />
&#60;vambboy&#62; num intendi direito o q o NandoFlorestan quer fazer<br />
&#60;NandoFlorestan&#62; vambboy, existe uma encoding chamada ansi_x3.110-1983<br />
&#60;NandoFlorestan&#62; se você tentar usá-la no Python, dá erro<br />
&#60;NandoFlorestan&#62; Ele não a conhece<br />
&#60;vambboy&#62; nunca vi<br />
&#60;NandoFlorestan&#62; Então eu vou ter que implementá-la e registrá-la<br />
&#60;NandoFlorestan&#62; Tou a fim de delegar para o iconv que todo linux tem<br />
&#60;vambboy&#62; onde é aplicada<br />
&#60;NandoFlorestan&#62; também nunca vi<br />
&#60;vambboy&#62; em q tipos d caracteres?<br />
&#60;NandoFlorestan&#62; não sei, mas é exótica mesmo<br />
* NandoFlorestan não decodificou e portanto não leu o email<br />
&#60;vambboy&#62; ah tah<br />
&#60;vambboy&#62; e quem diabos mandaria um email assim?<br />
&#60;vambboy&#62; um agente secreto?<br />
&#60;NandoFlorestan&#62; heheheh<br />
&#60;NandoFlorestan&#62; vai ajudar ou só zoar?<br />
&#60;vambboy&#62; bem<br />
&#60;vambboy&#62; procurarei algo<br />
* NandoFlorestan saca seu editor de textos colaborativo<br />
&#60;NandoFlorestan&#62; &#8230;como chamava mesmo?<br />
&#60;nosklo&#62; NandoFlorestan, se vc tiver documentação do encoding fica fácil, delegar pro iconv sux<br />
&#60;nosklo&#62; hummmmmmmm<br />
&#60;NandoFlorestan&#62; gobby<br />
* nosklo começa a escrever um encoding para iconv x.decode(&#8216;iconv:XXXX&#8217;) onde XXXX é passado para o iconv<br />
&#60;nosklo&#62; mas relaxe, mto breve vc poderá usar qq codec suportado pelo iconv<br />
&#60;NandoFlorestan&#62; <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /><br />
* nosklo está modificando o código q já tinha<br />
* NandoFlorestan pensa num recurso: dar um iconv &#8211;list e registrar todos os codecs que Python não tenha<br />
&#60;nosklo&#62; besteira<br />
&#60;nosklo&#62; NandoFlorestan, x.decode(&#8216;iconv:xxxx&#8217;)<br />
&#60;nosklo&#62; NandoFlorestan, vc só roda o subprocesso iconv se precisar usar o codec<br />
&#60;vambboy&#62; em q módulo se encontra o iconv?<br />
&#60;nosklo&#62; vambboy, iconv é um aplicativo escrito em C<br />
* NandoFlorestan testa<br />
&#60;nosklo&#62; NandoFlorestan, hah, teste depois q eu mandar o codigo <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
&#60;NandoFlorestan nosklo, não faz &#8216;iconv:xxx&#8217;<br />
&#60;NandoFlorestan&#62; faz com o nome correto da encoding: ansi_x3.110-1983<br />
&#60;nosklo&#62; NandoFlorestan, entao, isso q estou falando<br />
&#60;nosklo&#62; NandoFlorestan, no seu caso vc vai usar, suastring.decode(&#8216;iconv:ansi_x3.110-1983&#8242;)<br />
&#60;NandoFlorestan&#62; mas sem prefixo iconv:<br />
&#60;NandoFlorestan&#62; tá, mas eu vou mudar seu código pra tirar o prefixo<br />
&#60;nosklo&#62; NandoFlorestan, bom ok<br />
&#60;NandoFlorestan&#62; porque isso tá chegando de um email e eu não quero ficar lidando com exceções<br />
&#60;nosklo&#62; NandoFlorestan, a minha idéia é não precisar saber de antemão quais os codecs que tem disponíveis, pq senão eu tenho que chamar o iconv mesmo se não for precisar dele<br />
&#60;NandoFlorestan&#62; Faz sentido, mas eu acho que precisamos dos 2 modos de operação então<br />
&#60;NandoFlorestan nosklo, o comando é iconv -f utf8 -t ansi_x3.110-1983 -c<br />
&#60;NandoFlorestan&#62; -f é from, -t é to, -c é pra omitir caracteres inválidos.<br />
&#60;nosklo&#62; o -c será dado se vc passar x.decode(&#8216;iconv:xxx&#8217;, errors=&#8217;ignore&#8217;)<br />
&#60;NandoFlorestan&#62; isso isso<br />
&#60;nosklo&#62; pronto, .decode e .encode já está funcionando<br />
&#60;nosklo&#62; agora vou fazer codecs.open(&#8216;arq&#8217;, encoding=&#8217;iconv:xxxx&#8217;)<br />
&#60;vambboy&#62; quando terminarem manda um paste aí, quero estudar o código<br />
&#60;NandoFlorestan nosklo, http://pypi.python.org/pypi/iconv/1.0<br />
&#60;nosklo&#62; argh<br />
&#60;nosklo&#62; ja existe<br />
* nosklo deleta tudo<br />
&#60;NandoFlorestan&#62; caaalma<br />
&#60;NandoFlorestan&#62; tem que ver se é bom<br />
&#60;nosklo&#62; testa aí então, vou comer alguma coisa<br />
&#60;NandoFlorestan&#62; nosklo, import iconv já dá pau<br />
&#60;NandoFlorestan&#62; nosklo, essa porcaria de módulo iconv não funfa porque foi feito em C em 2005<br />
&#60;nosklo&#62; NandoFlorestan, okay, continuando</p>
<p><strong><em>(&#8230; alguns minutos depois &#8230;)</em></strong></p>
<p>&#60;nosklo&#62; bom, tá funcioando<br />
&#60;nosklo&#62; funcionando<br />
&#60;nosklo&#62; NandoFlorestan, vambboy, huahauhauahuaha<br />
&#60;nosklo&#62; &#62;&#62;&#62; u&#8217;teste&#8217;.encode(&#8216;iconv:CP284&#8242;)<br />
&#60;nosklo&#62; &#8216;\xa3\x85\xa2\xa3\x85&#8242;<br />
&#60;nosklo&#62; &#62;&#62;&#62; _.decode(&#8216;iconv:CP284&#8242;)<br />
&#60;nosklo&#62; u&#8217;teste&#8217;<br />
&#60;NandoFlorestan&#62; nosklo, cadê?<br />
&#60;NandoFlorestan&#62; cá&#8230; dê !!! dê cá!<br />
&#60;NandoFlorestan nosklo&#8230; por favor?<br />
&#60;nosklo&#62; NandoFlorestan, opa&#8230; ja vai, colando&#8230;<br />
&#60;vambboy&#62; nosklo, tô vuando isso quer dizer que funcionou?<br />
&#60;nosklo&#62; NandoFlorestan, vambboy, tá ai http://dpaste.com/5377/<br />
&#60;nosklo&#62; só dá um import estearquivo<br />
&#60;nosklo&#62; e pronto<br />
&#60;nosklo&#62; vc pode usar qq codec do iconv<br />
&#60;nosklo&#62; no codecs.open etc</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Codificació UTF-8 per a Outlook utilitzant comanda mailto]]></title>
<link>http://carlesbonfill.com/2008/11/06/codificacio-utf-8-per-a-outlook-utilitzant-comanda-mailto/</link>
<pubDate>Thu, 06 Nov 2008 18:01:26 +0000</pubDate>
<dc:creator>carlesbonfill</dc:creator>
<guid>http://carlesbonfill.com/2008/11/06/codificacio-utf-8-per-a-outlook-utilitzant-comanda-mailto/</guid>
<description><![CDATA[Un petit truc ràpid que poso en el blog. Microsoft Outlook té problemes amb la codificació UTF-8. Aq]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Un petit truc ràpid que poso en el blog.</p>
<p>Microsoft Outlook té problemes amb la codificació UTF-8. Aquest fet és notori quan des d&#8217;una web fas ús de la comanda &#8220;mailto&#8221; en un enllaç per a què se t&#8217;obri directament el gestor de correu.</p>
<p>Si tens la web codificada en UTF-8, tindràs problemes si el teu gestor és l&#8217;Outlook. Caràcters amb accents o &#8220;ñ&#8221; o dièresis, no es veuran correctament. El truc és utilitzar les llibreries de conversió en PHP &#8216;iconv&#8217;.Amb aquesta funció pots passar una cadena de UTF8 a ISO-8859-1 (que si interpreta outlook).</p>
<p>Així que si programes amb PHP amb codificació UTF-8, i utilitzes &#8220;mailto&#8221;, et pot anar bé aquest codi:</p>
<p>$subject = &#8220;El meu assumpte té un accent.&#8221;;</p>
<p>$subject_mailto = rawurlencode(iconv(&#8216;UTF-8&#8242;,&#8217;ISO-8859-1&#8242;,$subject));</p>
<p>echo &#8216;&#60;a href=&#8221;mailto:desti@test.com?subject&#8217;.$subject_mailto.&#8217;&#8221;&#62;enviar mail&#60;/a&#62;&#8217;;</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[mbstring vs iconv benchmarking]]></title>
<link>http://dokeoslead.wordpress.com/2008/10/05/mbstring-vs-iconv-benchmarking/</link>
<pubDate>Mon, 06 Oct 2008 03:12:27 +0000</pubDate>
<dc:creator>ywarnier</dc:creator>
<guid>http://dokeoslead.wordpress.com/2008/10/05/mbstring-vs-iconv-benchmarking/</guid>
<description><![CDATA[Following up on my previous post about the differences between the mbstring and iconv international ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Following up on <a href="http://dokeoslead.wordpress.com/2008/04/22/mbstring-vs-iconv/">my previous post</a> about the differences between the mbstring and iconv international characters libraries (which resulted in a tentative conclusion that nobody knew anything about those differences), and particularly the comments by <a href="http://www.entidi.it/">Nicola</a>, we have combined forces (mostly efforts from Nicola, actually) to provide you with a little benchmarking, if that can help you decide.</p>
<p>Nicola wrote the following script (which he gladly releases as public domain license) to test the efficiency of both the mbstring and iconv extensions for PHP5:</p>
<blockquote><p>&#60;?php</p>
<p>ini_set(&#8216;iconv.internal_encoding&#8217;, &#8216;UTF-8&#8242;);<br />
ini_set(&#8216;mbstring.internal_encoding&#8217;, &#8216;UTF-8&#8242;);</p>
<p>function dummy_strlen($str)<br />
{<br />
}</p>
<p>function scan_file($file, $strlen)<br />
{<br />
fseek($file, 0);</p>
<p>$chars = 0;<br />
$lines = 0;<br />
$start_time = microtime(true);</p>
<p>while (!feof($file)) {<br />
$chars += $strlen(fgets($file));<br />
++$lines;<br />
}</p>
<p>// Calculating elapsed time<br />
$sec = microtime(true) &#8211; $start_time;<br />
$usec = (int) ($sec * 1000000);</p>
<p>// Formatting<br />
$strlen = str_pad($strlen, 20);<br />
$usec = str_pad($usec, 10);</p>
<p>echo &#8220;$strlen$usec($lines lines and $chars chars)\n&#8221;;<br />
}</p>
<p>// Text: 13083-utf8.txt<br />
// From: http://www.gutenberg.org/files/13083/13083-utf8.txt</p>
<p>$file = fopen(&#8216;13083-utf8.txt&#8217;, &#8216;r&#8217;);</p>
<p>scan_file($file, &#8216;dummy_strlen&#8217;);<br />
scan_file($file, &#8217;strlen&#8217;);<br />
scan_file($file, &#8216;mb_strlen&#8217;);<br />
scan_file($file, &#8216;iconv_strlen&#8217;);</p>
<p>fclose($file);</p>
<p>?&#62;</p></blockquote>
<p>Although we were expecting boring results, they are actually quite interesting. The following are results for the script above (always prefixed by the system details)</p>
<blockquote><p>Linux amd64 2.6.26-ntd #1 PREEMPT Mon Jul 28 18:54:30 CEST 2008<br />
x86_64 x86_64 x86_64 GNU/Linux</p>
<p>PHP 5.2.4 (cli)<br />
iconv library version =&#62; 2.5<br />
Multibyte regex (oniguruma) version =&#62; 4.4.4</p>
<p>dummy_strlen 5853 (4485 lines and 0 chars)<br />
strlen 4853 (4485 lines and 150846 chars)<br />
mb_strlen 8574 (4485 lines and 140932 chars)<br />
iconv_strlen 38774 (4485 lines and 140932 chars)</p>
<p>&#8212;&#8212;&#8212;&#8212;</p>
<p>PHP 5.2.4 (CLI version)<br />
iconv 2.7 for glibc<br />
mbstring regex oniguruma 4.4.4 (string engine libmbfl)<br />
on an Apple Mac Book Pro (II), at 2.1GHz</p>
<p>dummy_strlen        15965     (4485 lines and 0 chars)<br />
strlen              12470     (4485 lines and 150846 chars)<br />
mb_strlen           34167     (4485 lines and 140932 chars)<br />
iconv_strlen        48865     (4485 lines and 140932 chars)</p>
<p>Second execution (caching might help):<br />
dummy_strlen        15692     (4485 lines and 0 chars)<br />
strlen              12532     (4485 lines and 150846 chars)<br />
mb_strlen           14727     (4485 lines and 140932 chars)<br />
iconv_strlen        40086     (4485 lines and 140932 chars)</p>
<p>Tenth execution (stabilised):<br />
dummy_strlen        15661     (4485 lines and 0 chars)<br />
strlen              8369      (4485 lines and 150846 chars)<br />
mb_strlen           6906      (4485 lines and 140932 chars)<br />
iconv_strlen        34092     (4485 lines and 140932 chars)</p>
<p>&#8212;&#8211;</p>
<p>PHP 5.2.4 (Apache 2 version)<br />
iconv 2.7 for glibc<br />
mbstring regex oniguruma 4.4.4 (string engine libmbfl)<br />
on an Apple Mac Book Pro (II), at 2.1GHz</p>
<p>dummy_strlen  38218 (4485 lines and 0 chars)<br />
strlen        35356 (4485 lines and 150846 chars)<br />
mb_strlen     35804 (4485 lines and 140932 chars)<br />
iconv_strlen  66275 (4485 lines and 140932 chars)</p>
<p>And second execution:</p>
<p>dummy_strlen  52164 (4485 lines and 0 chars)<br />
strlen        34219 (4485 lines and 150846 chars)<br />
mb_strlen     35706 (4485 lines and 140932 chars)<br />
iconv_strlen  65080 (4485 lines and 140932 chars)</p>
<p>Tenth execution:</p>
<p>dummy_strlen  59885 (4485 lines and 0 chars)<br />
strlen        35341 (4485 lines and 150846 chars)<br />
mb_strlen     36179 (4485 lines and 140932 chars)<br />
iconv_strlen  66632 (4485 lines and 140932 chars)</p></blockquote>
<p>The evident conclusion from this set of results is that iconv is quite slower than mbstring, although we do not have enough insight to tell if this is due to a compilation difference or anything like that.</p>
<p>The idea is that anyway, we have configurations identical to what most people will have, so it is very likely that the results will be the same in many cases, and as such iconv should be avoided for efficiency reasons, unless some of its very specific functions are required.</p>
<p>You can download the text file used in this example from here:<a rel="nofollow" href="http://mirror3.mirrors.tds.net/pub/gutenberg.org/1/3/0/8/13083/13083-utf8.txt">http://mirror3.mirrors.tds.net/pub/gutenberg.org/1/3/0/8/13083/13083-utf8.txt</a></p>
<p>You will have to copy and paste the script above (there is no way to upload a simple text file here).</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Encoding of MDB Tool]]></title>
<link>http://farismadi.wordpress.com/2008/07/13/encoding-of-mdb-tool/</link>
<pubDate>Sun, 13 Jul 2008 06:24:43 +0000</pubDate>
<dc:creator>Faris Madi</dc:creator>
<guid>http://farismadi.wordpress.com/2008/07/13/encoding-of-mdb-tool/</guid>
<description><![CDATA[Mdb tool is a strong tool to convert your mdb files (microsoft access database files) to any other f]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Mdb tool is a strong tool to convert your mdb files (microsoft access database files) to any other format. I had a problems with mdb tool with encoding.</p>
<p>I had a files of &#8220;bok&#8221; extension, but they are mdb files. those files are uft-8 but the content is windows-1256 and i don&#8217;t know why. Exporting the data of those files gives a corrupted data. and I couldn&#8217;t convert the output back again</p>
<p>Finally I gathered the scattered information about mdb-tool and I found that I have to set TWO environment variable, the first one is MDB_ICONV</p>
<blockquote><p>export MDB_ICONV=utf-8</p></blockquote>
<p>The other variable related on which JET version you are using</p>
<blockquote><p>mdb-ver file.mdb</p></blockquote>
<p>If you have JET3 then set the second env variable MDB_JET3_CHARSET</p>
<blockquote><p>export MDB_JET_CHARSET=utf-8</p></blockquote>
<p>After setting the env variables, export the data into csv file for example</p>
<blockquote><p>mdb-export -q &#8216;&#8221;&#8216; -d &#8216;,&#8217; -R &#8216;\n&#8217; &#62; file.csv</p></blockquote>
<p>or your can get SQL insert statements:</p>
<blockquote><p>mdb-export -I -q &#8216;&#8221;&#8216; -d &#8216;,&#8217; -R &#8216;\n&#8217; &#62; file.txt</p></blockquote>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Convertir archivos de texto de ISO8859 a UTF-8]]></title>
<link>http://revisterux.wordpress.com/2008/05/26/convertir-archivos-de-texto-de-iso8859-a-utf-8/</link>
<pubDate>Mon, 26 May 2008 14:06:23 +0000</pubDate>
<dc:creator>enramos.com</dc:creator>
<guid>http://revisterux.wordpress.com/2008/05/26/convertir-archivos-de-texto-de-iso8859-a-utf-8/</guid>
<description><![CDATA[]]></description>
<content:encoded><![CDATA[<div class='snap_preview'></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[CONVERSIÓN EN COMANDOS: Conversión en la shell (línea de comandos).]]></title>
<link>http://revisterux.wordpress.com/2008/05/18/conversion-en-comandos-conversion-en-la-shell-linea-de-comandos/</link>
<pubDate>Sun, 18 May 2008 10:33:33 +0000</pubDate>
<dc:creator>enramos.com</dc:creator>
<guid>http://revisterux.wordpress.com/2008/05/18/conversion-en-comandos-conversion-en-la-shell-linea-de-comandos/</guid>
<description><![CDATA[Los juegos de caracteres o las nuevas líneas diferentes pueden complicar el intercambio de datos ent]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><em>Los juegos de caracteres o las nuevas líneas diferentes pueden complicar el intercambio de datos entre usuarios Linux. Un par de herramientas de conversión nos evitarán el quebradero de cabeza.</em></p>
<p style="text-align:right;"><strong><em>Heike Jurzik</em></strong></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Gerando documentos PDF com FPDF - Parte 01]]></title>
<link>http://tidoc.wordpress.com/2008/04/21/gerando-documentos-pdf-com-fpdf-parte-01/</link>
<pubDate>Mon, 21 Apr 2008 01:50:47 +0000</pubDate>
<dc:creator>Fernando Libório</dc:creator>
<guid>http://tidoc.wordpress.com/2008/04/21/gerando-documentos-pdf-com-fpdf-parte-01/</guid>
<description><![CDATA[Olá pessoal! Hoje vou iniciar uma série de postagens sobre como gerar documentos em PDF usando a cla]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Olá pessoal!</p>
<p>Hoje vou iniciar uma série de postagens sobre como gerar documentos em PDF usando a classe FPDF.<br />
Por agora vou mostrar como fazer a configuração básica e criar um exemplo funcional. Go, Go, Go!!</p>
<p>Você pode baixar o FPDF no site oficial do projeto: <a href="http://www.fpdf.org/">http://www.fpdf.org/</a>. Para começar a criar seus arquivos em PDF, basta copiar os arquivos para seu servidor web. Certifique-se de que os arquivos estão no seu <em>include path</em>.<a href="http://www.fpdf.org/"><br />
</a></p>
<p>Vamos então à um exemplo prático:</p>
<p><code>&#60;?php</code></p>
<p>define(&#8216;FPDF_FONTPATH&#8217;,'font/&#8217;);</p>
<p>require(&#8216;fpdf_dir/fpdf.php&#8217;);</p>
<p>$pdf = &#38;new FPDF(&#8220;L&#8221;,&#8221;mm&#8221;,&#8221;A4&#8243;);<br />
$pdf-&#62;Open();<br />
$pdf-&#62;AddPage();<br />
$pdf-&#62;SetFont(&#8216;Arial&#8217;,'B&#8217;, 14);<br />
$pdf-&#62;Text(40,20,&#8217;Título do Relatório&#8217;);<br />
$pdf-&#62;SetLineWidth(0.7);<br />
$pdf-&#62;Line(40,22,200,22);<br />
$pdf-&#62;SetXY(40,26);<br />
$pdf-&#62;SetFont(&#8221;,&#8221;,12);<br />
$pdf-&#62;Cell(30,5,&#8217;Modelo&#8217;,0,0,&#8217;C',0);<br />
$pdf-&#62;Cell(30,5,&#8217;Fabricante&#8217;,0,0,&#8217;C',0);<br />
$pdf-&#62;Output();<br />
?&#62;</p>
<p>Explicando o código:</p>
<p>Define o caminho para as fonts usadas pelo FPDF. Em outro post irei explicar como criar suas próprias fonts.<br />
<em> define(&#8216;FPDF_FONTPATH&#8217;,'font/&#8217;);</em></p>
<p>Inclui as definições da classe FPDF no script PHP.<br />
<em>require(&#8216;fpdf_dir/fpdf.php&#8217;);</em></p>
<p>Cria uma nova instância da classe FPDF para um documento com orientação paisagem (Landscape), com medidas em milímetros e no formato A4. Feito isso, o documento é iniciado.<em><br />
$pdf = &#38;new FPDF(&#8220;L&#8221;,&#8221;mm&#8221;,&#8221;A4&#8243;);</em><br />
<em>$pdf-&#62;Open();</em></p>
<p>Adiciona uma nova página ao documento.<br />
<em> $pdf-&#62;AddPage();</em></p>
<p>Define a font do documento como Arial, tamanho 14 em negrito. Essa configuração será válida até que SetFont() seja chamado novamente.<br />
<em> $pdf-&#62;SetFont(&#8216;Arial&#8217;,'B&#8217;, 14);</em></p>
<p>Escreve o texto &#8220;Título do Relatório&#8221; na linha 40 (eixo x) e coluna 20 (eixo y)<em></em><br />
<em> $pdf-&#62;Text(40,20,&#8217;Título do Relatório&#8217;);</em></p>
<p>Cria uma linha horizontal logo abaixo do texto definido anteriormente.<em><br />
$pdf-&#62;SetLineWidth(0.7);<br />
$pdf-&#62;Line(40,22,200,22);</em></p>
<p>Aponta o cursor para a posição (x,y) definida em SetXY(). Retira o negrito da font e altera o tamanho para 12.<br />
<em> $pdf-&#62;SetXY(40,26);<br />
$pdf-&#62;SetFont(&#8221;,&#8221;,12);</em></p>
<p>Cria duas células com as mesmas dimensões ( 30mm de largura e 5mm de altura ), sem borda, apontando o cursor para o final da linha, após a célula criada, com o texto alinhado no centro e com prenchimento transparente.<br />
<em> $pdf-&#62;Cell(30,5,&#8217;Modelo&#8217;,0,0,&#8217;C',0);<br />
$pdf-&#62;Cell(30,5,&#8217;Fabricante&#8217;,0,0,&#8217;C',0);</em></p>
<p>Finalmente, renderiza o seu documento \o/.<br />
<em> $pdf-&#62;Output();</em></p>
<p><strong>Encoding</strong></p>
<p>Caso você tenha problemas com acentuação na saída do documento, use a função <em><strong>iconv </strong></em>do PHP. Nela você irá converter um texto de um charset de origem para outro de destino. Use desta forma:<em><br />
$pdf-&#62;Text(40,20,iconv(&#8216;utf-8&#8242;,&#8217;iso-8859-1&#8242;,&#8217;Título do Relatório&#8217;));</em></p>
<p>É isso ai, espero que tenham gostado. Um abraço e até o próximo post.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[How to make a word list from an aspell dictionary]]></title>
<link>http://fileformat.wordpress.com/2007/11/25/how-to-make-a-word-list-from-an-aspell-dictionary/</link>
<pubDate>Mon, 26 Nov 2007 02:25:56 +0000</pubDate>
<dc:creator>fileformat</dc:creator>
<guid>http://fileformat.wordpress.com/2007/11/25/how-to-make-a-word-list-from-an-aspell-dictionary/</guid>
<description><![CDATA[I am working on something that needs a list of words, without regard to american vs. british or acce]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>I am working on something that needs a list of words, without regard to american vs. british or accents or anything: just has to be as many words as possible.  There are a whole bunch of <a href="ftp://ftp.gnu.org/gnu/aspell/dict/0index.html">aspell dictionaries</a> available.  First expand the files:</p>
<blockquote><p>preunzip *.wl</p></blockquote>
<p>Then merge into a single list, eliminating duplicates:</p>
<blockquote><p>sort &#8211;unique &#8211;ignore-case *.wl &#62;list.txt</p></blockquote>
<p>In additon, I want everything to be UTF-8:</p>
<blockquote><p>iconv -f ISO8859-1 -t UTF-8 list.txt &#62;ulist.txt</p></blockquote>
<p>Pretty simple.  The merged english word list has 137,883 words.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Lost in traslation]]></title>
<link>http://blog.txipinet.com/2007/03/07/66-lost-in-traslation/</link>
<pubDate>Wed, 07 Mar 2007 17:43:47 +0000</pubDate>
<dc:creator>txipi</dc:creator>
<guid>http://blog.txipinet.com/2007/03/07/66-lost-in-traslation/</guid>
<description><![CDATA[Pido disculpas desde ya por haber dejado un poco desatendido el blog, pero entre el blog de Software]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Pido disculpas desde ya por haber dejado un poco desatendido el blog, pero entre el <a href="http://softwarelibre.deusto.es">blog de Software Libre de la Universidad de Deusto</a>, que me sirve de opinódromo, y la migración del servidor de mi casa a <a href="http://godaddy.com">godaddy</a>, que me ha forzado a hacer más tareas de administración (backups de bases de datos con cambios de &#8220;encoding&#8221; de por medio, configuración de mod_rewrite en godaddy, intento frustrado de instalar dotclear 2.0 en lugar de dotclear 1.2, etc.), es cierto que no he aparecido mucho por aquí. Supongo que no os interesará mucho, pero en este artículo os contaré un poco qué he ido haciendo para migrar&#8230;<br />
<!--more--></p>
<h3>Exportar la base de datos MySQL del blog</h3>
<p>En godaddy todavía usan un vetusto MySQL 4.0.x y en el servidor de casa, después de ir migrando desde MySQL 3.3.x hasta MySQL 5.0.x ya no sabía ni lo que tenía, así que a la hora de hacer el mysqldump hubo unos pocos problemas:</p>
<ol>
<li>Diferentes charsets en las bases de datos.</li>
<li>Diferentes versiones, diferente SQL.</li>
<li>Comentarios no soportados a la hora de importar la base de datos.</li>
</ol>
<p>Todos los problemas se resuelven fácilmente:</p>
<ol>
<li>El charset, utilizando la opción &#8211;default-character-set al exportar y usando iconv para pasar de un charset a otro.</li>
<li>Las versiones de MySQL, usando la opción &#8211;compatible=mysql40.</li>
<li>Los comentarios, con sed o el propio vi.</li>
</ol>
<p>Así pues, la cosa quedaría de esta manera:</p>
<pre>mysqldump --default-character-set=latin1 --compatible=mysql40 -u usuario -p &#62; basededatos-latin1.sql

iconv -f iso-8859-15 -t utf8 basededatos-latin1.sql &#62; basededatos-utf8.sql

sed -e "s/\/\*.*\*\///g" &#60; basededatos-utf8.sql &#62; basededatos-fin.sql</pre>
<p>Con el sed lo que hago es sustituir el patrón /*algo*/ por nada (la cadena vacía), lo que pasa que como hay que escaparlo todo con \s queda un poco farragoso de entender.</p>
<h3>Instalar dotclear 1.2</h3>
<p>Realmente lo que yo quería era aprovechar y migrar a dotclear 2.0, pero dotclear 2.0 necesita MySQL 5.0.x y en godaddy todavía van por la 4.0.x <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' />  Así que me bajé el <a href="http://download.dotclear.net/latest-1.2.tar.gz">tarball de dotclear</a> de su página web, lo descomprimí y lo subí a godaddy por FTP (leeeeento). Una vez subido, simplemente seguí los pasos de install.php y me dí cuenta de que tenía que importar previamente la base de datos recién exportada (lógico), así lo hice y todo funcionó bien. Bueno, todo no. Se veía la página principal bien, pero en cuanto pulsaba algún enlace para ver las entradas del blog, me daba un error 404 muy extraño. Investigando un poco ví que godaddy no tiene PHP como módulo, sino <a href="http://help.godaddy.com/article.php?article_id=1274&#38;topic_id=418&#38;&#38;">como un CGI</a>, así que era necesario utilizar mod_rewrite del Apache para que todo funcionara bien.</p>
<h3>Configurar mod_rewrite en godaddy</h3>
<p>El módulo mod_rewrite te permite hacer muchas reescrituras de la petición realizada al servidor (si os queréis rayar de verdad, visitad la <a href="http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html">página de ayuda de mod_rewrite</a>, muy ilustrativa). La verdad es que no me comí mucho el coco y directamente busqué cómo lo había hecho otra gente. Casi nadie usa dotclear, pero había muchos usuarios con un problema similar en WordPress y godaddy, así que copié un ejemplo de configuración, y funcionó. Además, aproveché para usar PHP5 en lugar de PHP4 en mis páginas, dejando un .htaccess como este:</p>
<pre>AddHandler x-httpd-php5 .php
AddHandler x-httpd-php .php4

# BEGIN dotclear

RewriteEngine On
#RewriteBase /blog/
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteRule . /blog/index.php [L]

# END dotclear</pre>
<p>Como se puede ver, toda la configuración de mod_rewrite está comentada (con #s) salvo RewriteEngine On. Al principio pensé que tenía que configurarlo específicamente para ese directorio en el servidor, tomar lo que me había pedido, pasárselo a index.php y demás, pero luego ví que mod_rewrite hacía todo eso él solito. Subí el .htaccess a mi directorio de hosting y&#8230; ¡listo! <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Encodage fichiers .JS]]></title>
<link>http://sdaclin.wordpress.com/2006/05/15/encodage-fichiers-js/</link>
<pubDate>Mon, 15 May 2006 15:34:05 +0000</pubDate>
<dc:creator>sdaclin</dc:creator>
<guid>http://sdaclin.wordpress.com/2006/05/15/encodage-fichiers-js/</guid>
<description><![CDATA[Gros problème dans une appli, suite à la modification avec Eclipse de fichier JS on obtient des erre]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Gros problème dans une appli, suite à la modification avec Eclipse de fichier JS on obtient des erreurs.</p>
<p>Le fait est qu&#8217;Eclipse n&#8217;encode pas en ISO-8859-1 (AKA Latin-1) les fichiers de type JS par défaut. Du coup on se retrouve avec des fichiers mal ouverts, mal encodés et surtout mal enregistrés.</p>
<p>La première des choses est donc d&#8217;aller dans <strong>Windows-&#62;Preferences</strong> puis <strong>Général -&#62; Content types -&#62; Text -&#62; Javascript</strong> et de spécifier Default encoding à UTF-8.</p>
<p>UTF-8 est le choix le plus judicieux au niveau compatibilité mais on aurait, dans le cas d&#8217;un dev&#8217; non internationnal, pu forcer le serveur web à définir dans l&#8217;en-tête un encodage de type ISO-8859-1 pour les fichiers de type <em>.JS</em>.</p>
<p>Quoiqu&#8217;il en soit nous voici avec moults fichiers JS encodés en ISO-8859-1 et un éditeur configuré en UTF-8, il nous reste donc à modifier tous nos fichiers afin de les ré-encoder de l&#8217;ISO vers l&#8217;UTF-8.</p>
<p>Pour ce faire on peut utiliser unitairement <strong>iconv</strong> ou un traitement batch via le script suivant</p>
<blockquote>
<pre>#!/bin/bash
FROM=latin1
TO=utf8
ICONV="iconv -f $FROM -t $TO"

# Convert pages/ subdir
find repToConvert/ -type f -name "*.txt" &#124; while read fn; do
cp ${fn} ${fn}.bak
$ICONV  ${fn}
rm ${fn}.bak
done</pre>
</blockquote>
<p>ATTENTION toutefois, les utilisateurs de Cygwin devront utiliser</p>
<blockquote>
<pre>#!/bin/bash
FROM=ISO8859-15
TO=UTF-8</pre>
</blockquote>
<p>Un petit tour sur <a title="splitbrain.org" href="http://wiki.splitbrain.org/wiki:utf8update">splitbrain.org</a> pour trouver l&#8217;origine de ce script.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Display DOS ASCII Arts (e.g. NFO Files) on Linux]]></title>
<link>http://bembelbee.wordpress.com/2005/12/29/display-dos-ascii-arts-eg-nfo-files-on-linux/</link>
<pubDate>Thu, 29 Dec 2005 15:14:27 +0000</pubDate>
<dc:creator>FrankZabbath</dc:creator>
<guid>http://bembelbee.wordpress.com/2005/12/29/display-dos-ascii-arts-eg-nfo-files-on-linux/</guid>
<description><![CDATA[In order to properly display NFO files, their content has to be converted to your local codepage. In]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><i>In order to properly display NFO files, their content has to be converted to your local codepage.</i><br />
In my case that is UTF-8. The conversion will be done with <tt>iconv</tt>. To get the solid block characters I chose the input codepage IBM 437. <a href="http://i22.photobucket.com/albums/b342/FrankZabbath/051229-ascii-big.png" target="_blank"><img src="http://i22.photobucket.com/albums/b342/FrankZabbath/051229-ascii-small.png" alt="some ascii arts snippet from xterm" align="left" border="0" height="425" hspace="4" vspace="2" width="238" /></a><br />
So the resulting command is:</p>
<pre>iconv -f 437 -t UTF8 dafile.nfo &#124; less</pre>
<p>For a list of available formats type:</p>
<pre>iconv --list</pre>
<p>It is handy to have this command as a script. That would be something like this:</p>
<pre>#!/bin/bash
# Display DOS ASCII Arts (e.g. NFO Files)

if [ -z "$@" ]
then
  echo "No filename given."
  echo "Usage: `basename $0` filename(s) [filename(s)]..."
else
  iconv -f 437 -t UTF8 "$@" &#124; less
fi

exit 0</pre>
<p><ins datetime="2007-05-23T15:55:39+00:00">You can <a href="http://www.box.net/shared/9kz2zb8fuq">download this script</a> from <a href="http://public.box.net/FrankZabbath">my Box.net share</a>.</ins></p>
<p>Click on the screenshot to view a larger version.</p>
<h4>ChangeLog</h4>
<p>[<i>2006-04-23:</i> Add tags.]<br />
[<i>2007-05-23:</i> Download link.]</p>
</div>]]></content:encoded>
</item>

</channel>
</rss>
