<?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>Icheb&#039;s blog &#187; Programming stuff</title>
	<atom:link href="http://www.icheb.info/category/programming-stuff/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.icheb.info</link>
	<description></description>
	<lastBuildDate>Sun, 23 Jan 2011 21:56:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.2</generator>
		<item>
		<title>The latest IXR library</title>
		<link>http://www.icheb.info/2009/03/the-latest-ixr-library/</link>
		<comments>http://www.icheb.info/2009/03/the-latest-ixr-library/#comments</comments>
		<pubDate>Sun, 08 Mar 2009 22:02:52 +0000</pubDate>
		<dc:creator>Icheb</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[IXR]]></category>
		<category><![CDATA[XML-RPC]]></category>

		<guid isPermaLink="false">http://www.icheb.info/?p=72</guid>
		<description><![CDATA[It seems IXR (the Incutio XML-RPC library) is no longer available from a number of websites. So I&#8217;ve uploaded the latest version I&#8217;m currently using for projects. This version does contain most of the changes by Rogier van Dongen, added SSL support (requires CURL) and so on. This version does contain a few small changes,&#8230; <a class="continue_reading" href="http://www.icheb.info/2009/03/the-latest-ixr-library/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>It seems IXR (the Incutio XML-RPC library) is no longer available from a number of websites.</p>
<p>So I&#8217;ve uploaded the latest version I&#8217;m currently using for projects. This version does contain most of the changes by Rogier van Dongen, added SSL support (requires CURL) and so on.</p>
<p>This version does contain a few small changes, to allow certain features to be used in my projects, but no one should have any problems with it.</p>
<p>If you have idea&#8217;s about modifications, please let me know!</p>
<p>You can see the source at: <a href="http://www.icheb.info/IXR.phps">http://www.icheb.info/IXR.phps</a></p>
<p>And download is available from: <a href="http://www.icheb.info/IXR.txt">http://www.icheb.info/IXR.txt</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.icheb.info/2009/03/the-latest-ixr-library/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IXR (Incutio XML-RPC) with SSL support</title>
		<link>http://www.icheb.info/2007/01/ixr-incutio-xml-rpc-with-ssl-support/</link>
		<comments>http://www.icheb.info/2007/01/ixr-incutio-xml-rpc-with-ssl-support/#comments</comments>
		<pubDate>Sun, 28 Jan 2007 14:24:48 +0000</pubDate>
		<dc:creator>Icheb</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[IXR]]></category>
		<category><![CDATA[XML-RPC]]></category>

		<guid isPermaLink="false">http://www.icheb.info/2007/01/28/ixr-incutio-xml-rpc-with-ssl-support/</guid>
		<description><![CDATA[I&#8217;ve been looking for this for ages now, but this morning I actually found someone that had done this, and is still following the XML-RPC conventions. (I&#8217;ve also got a closed source version of this, included in some projects, but it doesn&#8217;t follow the XML-RPC conventions anymore). So I was very glad to find this.&#8230; <a class="continue_reading" href="http://www.icheb.info/2007/01/ixr-incutio-xml-rpc-with-ssl-support/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been looking for this for ages now, but this morning I actually found someone that had done this, and is still following the XML-RPC conventions. (I&#8217;ve also got a <em>closed source</em> version of this, included in some projects, but it doesn&#8217;t follow the XML-RPC conventions anymore).</p>
<p>So I was very glad to find <a href="http://griffin.oobleyboo.com/archive/xmlrpc_1_7_1_release" target="_blank">this</a>. But due to me not using a verified SSL certificate, I ran into some problems.</p>
<p><span id="more-45"></span>I kept getting the following error:</p>
<p><code>* SSL certificate problem, verify that the CA cert is OK. Details:<br />
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed</code><br />
After reading through the code, I created a modified version that solves this issue (just added an additional CURL command to ignore the problem), you can download it from<a href="http://www.icheb.nl/icheb_info_blog/IXR/IXR_Library.inc.php.txt" target="_blank"> this location</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.icheb.info/2007/01/ixr-incutio-xml-rpc-with-ssl-support/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Penistime &#8211; De perfecte manier om te meten of een bak genoeg uptime heeft</title>
		<link>http://www.icheb.info/2006/11/penistime-de-perfecte-manier-om-te-meten-of-een-bak-genoeg-uptime-heeft/</link>
		<comments>http://www.icheb.info/2006/11/penistime-de-perfecte-manier-om-te-meten-of-een-bak-genoeg-uptime-heeft/#comments</comments>
		<pubDate>Wed, 01 Nov 2006 16:24:43 +0000</pubDate>
		<dc:creator>Icheb</dc:creator>
				<category><![CDATA[Programming stuff]]></category>

		<guid isPermaLink="false">http://www.icheb.info/2006/11/01/penistime-de-perfecte-manier-om-te-meten-of-een-bak-genoeg-uptime-heeft/</guid>
		<description><![CDATA[Net kwam ik op IRC een linkje tegen naar een site die inmiddels dood was, en enkel nog in de google cache bestond. Hier werd omschreven hoe penistime.c eruit zag, de beste manier om te meten of je linux bak lang genoeg aan staat. Geen nerdfights meer om te zien wie de beste uptime heeft,&#8230; <a class="continue_reading" href="http://www.icheb.info/2006/11/penistime-de-perfecte-manier-om-te-meten-of-een-bak-genoeg-uptime-heeft/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>Net kwam ik op IRC een linkje tegen naar een site die inmiddels dood was, en enkel nog in de google cache bestond. Hier werd omschreven hoe penistime.c eruit zag, de beste manier om te meten of je linux bak lang genoeg aan staat. Geen nerdfights meer om te zien wie de beste uptime heeft, gewoon even meten met penistime <img src='http://www.icheb.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p><span id="more-39"></span></p>
<p>Compilen gaat zoals gewoonlijk met &#8216;gcc penistime.c -o penistime&#8217;.</p>
<p>Succes ermee <img src='http://www.icheb.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Te downloaden @ <a target="_blank" href="http://www.icheb.nl/mirrors/blogzooi/penistime.c">http://www.icheb.nl/mirrors/blogzooi/penistime.c</a> (wordpress snapt de includes niet)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.icheb.info/2006/11/penistime-de-perfecte-manier-om-te-meten-of-een-bak-genoeg-uptime-heeft/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Client Exec addons competition</title>
		<link>http://www.icheb.info/2006/10/client-exec-addons-competition/</link>
		<comments>http://www.icheb.info/2006/10/client-exec-addons-competition/#comments</comments>
		<pubDate>Fri, 27 Oct 2006 21:48:56 +0000</pubDate>
		<dc:creator>Icheb</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.icheb.info/2006/10/27/client-exec-addons-competition/</guid>
		<description><![CDATA[Some time ago I received a request to enter in the Client Exec addons competition. Well, I&#8217;ve written 2 addons for usage within my company, and modified another one to output more usefull statistical data. Due to the fact these plugins are licensed as LGPL by me, I thought, why not attach them to my&#8230; <a class="continue_reading" href="http://www.icheb.info/2006/10/client-exec-addons-competition/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>Some time ago I received a request to enter in the <a target="_blank" title="Client Exec" href="http://www.clientexec.com/newsite/">Client Exec</a> addons competition.</p>
<p>Well, I&#8217;ve written 2 addons for usage within <a target="_blank" title="my company" href="http://www.sebsoft.nl">my company</a>, and modified another one to output more <em>usefull</em> statistical data.</p>
<p>Due to the fact these plugins are licensed as <a target="_blank" title="What is this LGPL ?" href="http://en.wikipedia.org/wiki/LGPL">LGPL</a> by me, I thought, why not attach them to my blog in an entry <img src='http://www.icheb.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p><span id="more-38"></span></p>
<p>First of all, I haven&#8217;t heard back from Client Exec yet, so I&#8217;m unsure if the addons have been accepted into the competition, and/or if I&#8217;m gonna win prizes with them. Second of all, there are two plugins, plugin number one has quite ugly code, it does the job. But I&#8217;m unsure if it will even work with more recent Client Exec versions.</p>
<p><strong>What the heck do these plugins do?</strong></p>
<p>Plugin 1 ( <a target="_blank" title="Download location" href="http://www.icheb.nl/icheb_info_blog/ClientExec/Invoice_overview_report.rar">http://www.icheb.nl/icheb_info_blog/ClientExec/Invoice_overview_report.rar</a> )  is able to show a lot of details about all the invoices created until now in this year. Furthermore, it can provide a direct link to .pdf versions of the invoices, if the readme is executed like I&#8217;ve written it. If you modify this plugin, please let me know. And please don&#8217;t sell it or anything. It&#8217;s only LGPL so that it can be included in CE if I&#8217;d win the competition.</p>
<p>Plugin 2 ( <a target="_blank" title="Download location" href="http://www.icheb.nl/icheb_info_blog/ClientExec/subscriber_lifetime_report.rar">http://www.icheb.nl/icheb_info_blog/ClientExec/subscriber_lifetime_report.rar</a> ) was not originally written by me. All I&#8217;ve done was extending the functions by showing the total amount a subscriber/customer has paid until now. So you&#8217;re able to get a better idea if your best customer is really your best customer <img src='http://www.icheb.info/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .</p>
<p><strong>Help, help, I&#8217;m blind, where do I download these plugins?</strong><br />
Plugin 1 (total invoice overview, with all kinds of details) can be downloaded at:  http://www.icheb.nl/icheb_info_blog/ClientExec/Invoice_overview_report.rar</p>
<p>Plugin 2 (customer lifetime revenue) can be downloaded at: http://www.icheb.nl/icheb_info_blog/ClientExec/subscriber_lifetime_report.rar</p>
]]></content:encoded>
			<wfw:commentRss>http://www.icheb.info/2006/10/client-exec-addons-competition/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installation of Ruby on Rails on Debian Sarge</title>
		<link>http://www.icheb.info/2006/10/installation-of-ruby-on-rails-on-debian-sarge/</link>
		<comments>http://www.icheb.info/2006/10/installation-of-ruby-on-rails-on-debian-sarge/#comments</comments>
		<pubDate>Wed, 18 Oct 2006 22:13:41 +0000</pubDate>
		<dc:creator>Icheb</dc:creator>
				<category><![CDATA[Programming stuff]]></category>

		<guid isPermaLink="false">http://www.icheb.info/2006/10/19/installation-of-ruby-on-rails-on-debian-sarge/</guid>
		<description><![CDATA[Just to prove I’m still alive, I’ll explain some stuff I did today. Today, I decided I wanted to install Ruby on Rails. So I’d copied a virtual Debian Sarge machine on the Sebsoft VPS server, so I could do it from a (somewhat too) clean start. First it took me about 45 minutes to&#8230; <a class="continue_reading" href="http://www.icheb.info/2006/10/installation-of-ruby-on-rails-on-debian-sarge/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>Just to prove I’m still alive, I’ll explain some stuff I did today.<span lang="EN-GB"><img align="right" alt="Ruby on Rails" title="Ruby on Rails" src="http://www.icheb.info/wp-content/uploads/2006/10/rails.png" /></span></p>
<p><span lang="EN-GB">Today, I decided I wanted to install Ruby on Rails.</span></p>
<p><span lang="EN-GB" /></p>
<p class="MsoNormal"><span lang="EN-GB">So I’d copied a virtual Debian Sarge machine on the <a title="Yeah, using VPS of my own company" target="_blank" href="http://www.sebsoft.nl">Sebsoft</a> VPS server, so I could do it from a (somewhat too) clean start.</span></p>
<p class="MsoNormal"><span lang="EN-GB">First it took me about 45 minutes to get the VPS to work like it should. But after that, I could finally begin installing.</span></p>
<p class="MsoNormal"><span lang="EN-GB">My goal was to spend a maximum of 45 minutes to get everything working and after that spend 20 minutes to create a blog, like the <a title="Warning, clicking this link will open a .mov movie" target="_blank" href="http://media.rubyonrails.org/video/rails_take2_with_sound.mov">blog screencast</a> on the <a target="_blank" href="http://www.rubyonrails.org/">Ruby on Rails website</a>.</span></p>
<p><span id="more-37"></span></p>
<p class="MsoNormal"><span lang="EN-GB"><strong>Begin</strong><br />
How to begin, well, I’d found a nice tutorial that was nice and easy to follow, to get the VPS cleaned up a bit, and install some basic crap, to get everything going. So after following <a target="_blank" href="http://www.howtoforge.com/ruby_on_rails_apache2_fastcgi_debian_p3">http://www.howtoforge.com/ruby_on_rails_apache2_fastcgi_debian_p3</a> I had a nice MySQL server, with Postfix, that could talk SSL.</span>
</p>
<p class="MsoNormal"><span lang="EN-GB">Whohoo, nice, first time I worked with Postfix, and well, copypasting everything is just easier and faster <img src='http://www.icheb.info/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .</span></p>
<p class="MsoNormal"><span lang="EN-GB">The next step was on <a title="*need more links*" target="_blank" href="http://www.howtoforge.com/ruby_on_rails_apache2_fastcgi_debian_p4">page 4</a> of the same howto. However, after installing the FastCGI lib and the mod_fastcgi for Apache 2.0, I ran into a brick wall. The server is actually i686, but gives back errors when trying to compile in a certain way, so I have to compile everything with i386 support, too lazy to repeat the installation of the VPS <img src='http://www.icheb.info/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .</span></p>
<p class="MsoNormal"><span lang="EN-GB">So I switched to <a target="_blank" href="http://www.debian-administration.org/articles/329">http://www.debian-administration.org/articles/329</a>. Granted, I didn’t install ‘apache libapache-mod-fastcgi’ like it said there, but that part already worked.</span></p>
<p class="MsoNormal"><span lang="EN-GB"><br />
After about one hour and a few minutes, I had everything ready, and added the first vhost to Apache’s config. Did take an additional chmod 777 but after this it worked like a charm.</span>
</p>
<p class="MsoNormal"><span lang="EN-GB">In 20 minutes I had a basic scaffolding based blog created in Ruby on Rails. It took somewhat longer due to the fact I was using a MySQL console and VIM to enter everything, but I’ve got to admit, RoR really is fast when trying to create something.</span></p>
<p class="MsoNormal"><span lang="EN-GB"><br />
Converting scaffolding into actual code as an app basis rules!</span>
</p>
<p class="MsoNormal"><span lang="EN-GB">Just wish I knew more about Ruby. </span></p>
<p><em>Alright, this is something for the next blog entry, never ever again use <strike>Micro$oft</strike> <strike>M$</strike> MS Word to type the actual entry in, it takes more time to change the crap it outputs to something usefull than to manually code in the style you want&#8230;</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.icheb.info/2006/10/installation-of-ruby-on-rails-on-debian-sarge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://media.rubyonrails.org/video/rails_take2_with_sound.mov" length="54364199" type="video/quicktime" />
		</item>
		<item>
		<title>Asterisk and RxFax, trouble or not?</title>
		<link>http://www.icheb.info/2006/08/asterisk-and-rxfax-trouble-or-not/</link>
		<comments>http://www.icheb.info/2006/08/asterisk-and-rxfax-trouble-or-not/#comments</comments>
		<pubDate>Mon, 07 Aug 2006 22:29:35 +0000</pubDate>
		<dc:creator>Icheb</dc:creator>
				<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[Programming stuff]]></category>

		<guid isPermaLink="false">http://www.icheb.info/2006/08/08/asterisk-and-rxfax-trouble-or-not/</guid>
		<description><![CDATA[Some time ago, I posted at the Asterisk-users mailinglist. I had a problem, with RxFax. It wasn&#8217;t working at all anymore. However it had worked before. In this posting, I&#8217;ll describe the problem and a possible fix. However I can&#8217;t call this a fix, as it&#8217;s a feature. Not a bug. First of all, my&#8230; <a class="continue_reading" href="http://www.icheb.info/2006/08/asterisk-and-rxfax-trouble-or-not/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>Some time ago, I posted at the Asterisk-users mailinglist. I had a problem, with RxFax. It wasn&#8217;t working at all anymore. However it had worked before. In this posting, I&#8217;ll describe the problem and a possible fix. However I can&#8217;t call this a fix, as it&#8217;s a feature. Not a bug.<br />
<span id="more-33"></span> First of all, my original e-mail to the mailinglist:</p>
<p><em>Hi,</em></p>
<p><em>For some time now, I&#8217;ve been fighting with RxFax and Asterisk.<br />
I had it working for some time, however, for some reason it just stopped  working, I guess someone updated Asterisk or something, don&#8217;t know exactly.</em></p>
<p><em>At the moment I keep getting errors while entering the RxFax stage of a  call.<br />
But due to the fact RxFax does not contain any code to directly interact  with an RTP stream, it uses SpanDSP, I guess the problem is somewhere in  SpanDSP.</em></p>
<p><em>From my logs, I get:<br />
&#8211; Goto (macro-faxreceive,s,7)<br />
&#8211; Executing RxFAX(&#8220;SIP/-ff83&#8243;,  &#8220;/var/spool/asterisk/fax/fax/asterisk-8558-1149842081.2.tif&#8221;) in new stack<br />
Jun  9 10:34:56 WARNING[8558]: chan_sip.c:1829 sip_write: Asked to  transmit frame type 64, while native formats is 4 (read/write = 64/4)<br />
Jun  9 10:34:56 WARNING[8558]: chan_sip.c:1829 sip_write: Asked to  transmit frame type 64, while native formats is 4 (read/write = 64/4)<br />
Jun  9 10:34:56 WARNING[8558]: chan_sip.c:1829 sip_write: Asked to  transmit frame type 64, while native formats is 4 (read/write = 64/4)</em></p>
<p><em>The basic call setup works perfectly, but whenever I try to enter a fax  stage, I get this error.<br />
According to the SIP call initialisation, there are no problems with  formats, and the agreed upon format is 4 (aka ulaw).<br />
At the moment I get these errors, there aren&#8217;t any SIP transmissions, so  were in mid-session&#8230;</em></p>
<p><em>I guess the problem is somewhere in SpanDSP or a transcoding error  between slin and ulaw in chan_sip.</em></p>
<p><em>I&#8217;ve confirmed this problem on 2 servers so far.<br />
The first server is our fax receiver (production), where this problem  started. But it also appeared when I tried to directly connect a fax  transmission from a PSTN line with an Sipura 3000 as FXO (forwarding the  audio stream over our NAT to our local Asterisk server, with the ulaw  codec).<br />
Both servers are Debian Sarge servers.</em></p>
<p><em>Confirmed this problem in:<br />
Asterisk 1.0.7 (default .deb packages, being with SpanDSP 0.0.2pre10-3)<br />
Asterisk 1.0.11 (after reading  <a class="moz-txt-link-freetext" href="http://lists.digium.com/pipermail/asterisk-users/2006-May/151843.html">http://lists.digium.com/pipermail/asterisk-users/2006-May/151843.html</a>,  SpanDSP 0.0.2pre26)<br />
Asterisk 1.2.8 (from source, with SpanDSP 0.0.2pre26)<br />
Asterisk 1.2.7.1 (from source, with SpanDSP 0.0.2pre25)</em></p>
<p><em>Does anyone know of a way to get it working again?</em></p>
<p><em>It has worked before, so I know it&#8217;s perfectly possible with Debian Sarge.<br />
Furthermore I&#8217;ve set this up on Red Hat Enterprise servers without this  problem (with Asterisk 1.0.9). So I don&#8217;t believe this is an error  caused by myself. </em></p>
<p>Well, some time later, I posted the message again, on the -dev mailinglist. At that time the maintainer of the SpanDSP lib (<a href="http://www.soft-switch.org/" target="_blank">Steve Underwood</a>) responded to me, it was a user problem. No futher details.</p>
<p>So time after that, <a href="http://www.gaam-engineering.ch/index_home.php" target="_blank">Lukas Gaam</a> contacted me, he had the exact same problem. And due to him, a solution has been found now.</p>
<p>Basically, the problem can be best described like:</p>
<p><em>When SpanDSP is called for RxFax() after audio has been transmitted to  the calling party, SpanDSP fails. If RxFax is activated before other  audio is transmitted by Asterisk over the channel, it works fine.<br />
So it seems, SpanDSP is having problems when it&#8217;s not the first thing  that produces audio.<br />
If a extension is build up like:<br />
exten =&gt; s,1,Answer()<br />
exten =&gt; s,2,Ringing()<br />
exten =&gt; s,3,Wait(x)<br />
exten =&gt; s,4,Macro(faxreceive&#8230;)<br />
It fails.</em></p>
<p><em>If however Ringing() is removed, Asterisk will not produce any audio  before starting the RxFax, and it works perfectly. </em></p>
<p>After Lukas discovered this, we tested it with different audio source, like Playback(), which seemed to cause the same issue.</p>
<p>So the fix would be to have perfect silence before calling the RxFax command / macro.</p>
<p>My current home dialplan has been changed to look like:</p>
<p><em>exten =&gt; 1,1,Answer<br />
exten =&gt; 1,n,NVFaxDetect(5)<br />
exten =&gt; 1,n,Ringing<br />
exten =&gt; 1,n,Wait,5</em></p>
<p>Which makes sure faxes are redirected to the fax extension, however it&#8217;s a pain in the ass, the fax detect takes so long, as some callers start talking before getting the Ringing event.</p>
<p>Perhaps someone can use this to fix problems <img src='http://www.icheb.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>Lukas, thanks for providing the final solution <img src='http://www.icheb.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
]]></content:encoded>
			<wfw:commentRss>http://www.icheb.info/2006/08/asterisk-and-rxfax-trouble-or-not/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ISO landen in het Nederlands</title>
		<link>http://www.icheb.info/2005/12/iso-landen-in-het-nederlands/</link>
		<comments>http://www.icheb.info/2005/12/iso-landen-in-het-nederlands/#comments</comments>
		<pubDate>Thu, 22 Dec 2005 07:58:38 +0000</pubDate>
		<dc:creator>Icheb</dc:creator>
				<category><![CDATA[Programming stuff]]></category>

		<guid isPermaLink="false">http://www.icheb.info/?p=21</guid>
		<description><![CDATA[Veel mensen hebben er moeite mee. Voor een of andere web applicatie heb je om een of andere reden een overzicht nodig van de Nederlandse landnamen, maar verder wel volgens het ISO formaat. Nog erger is het, omdat er op de Nederlandse Wikipedia, op de pagina van de juiste ISO code een Nederlandstalige tabel staat,&#8230; <a class="continue_reading" href="http://www.icheb.info/2005/12/iso-landen-in-het-nederlands/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>Veel mensen hebben er moeite mee.</p>
<p>Voor een of andere web applicatie heb je om een of andere reden een overzicht nodig van de Nederlandse landnamen, maar verder wel volgens het ISO formaat.</p>
<p>Nog erger is het, omdat er op de Nederlandse Wikipedia, op de pagina van de juiste ISO code een Nederlandstalige tabel staat, al is hij verder niet als .SQL beschikbaar.</p>
<p>Nadat ik deze tabel nodig had, heb ik er, met regexp replacements, een versie gemaakt met alle landennamen, in .SQL formaat.</p>
<p>Je mag hem zelf gebruiken, maar link a.u.b. terug naar mij, ik ben er toch een tijd aan bezig geweest&#8230;<br />
Dit is vanaf nu hier te bekijken, op de volgende pagina:<br />
<span id="more-24"></span><br />
<code><br />
CREATE TABLE IF NOT EXISTS nlcountry (<br />
  iso CHAR(2) NOT NULL PRIMARY KEY,<br />
  printable_name VARCHAR(80) NOT NULL,<br />
  iso3 CHAR(3),<br />
  numcode SMALLINT<br />
);<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('AF','Afghanistan','AFG','004');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('AL','Albanië','ALB','008');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('DZ','Algerije','DZA','012');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('AS','Amerikaans-Samoa','ASM','016');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('AD','Andorra','AND','020');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('AO','Angola','AGO','024');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('AG','Antigua en Barbuda','ATG','028');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('AR','Argentinië','ARG','032');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('AM','Armenië','ARM','051');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('AW','Aruba','ABW','533');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('BH','Bahrein','BHR','048');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('BD','Bangladesh','BGD','050');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('BE','België','BEL','056');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('BZ','Belize (land)','BLZ','084');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('BJ','Benin','BEN','204');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('BT','Bhutan','BTN','064');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('BO','Bolivia','BOL','068');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('BA','Bosnië-Herzegovina','BIH','070');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('BV','Bouvet','BVT','074');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('BN','Brunei','BRN','096');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('CA','Canada','CAN','124');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('CL','Chili','CHL','152');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('CN','Volksrepubliek China','CHN','156');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('CU','Cuba','CUB','192');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('CY','Cyprus','CYP','196');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('EG','Egypte','EGY','818');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('EE','Estland','EST','233');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('FO','Faeröer','FRO','234');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('FJ','Fiji','FJI','242');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('PH','Filipijnen','PHL','608');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('FR','Frankrijk','FRA','250');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('GF','Frans-Guyana','GUF','254');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('GA','Gabon','GAB','266');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('GM','Gambia (land)','GMB','270');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('GE','Georgië','GEO','268');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('GH','Ghana','GHA','288');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('GR','Griekenland','GRC','300');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('GD','Grenada','GRD','308');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('GU','Guam','GUM','316');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('GN','Guinee','GIN','324');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('GY','Guyana','GUY','328');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('HT','Haïti','HTI','332');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('HU','Hongarije','HUN','348');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('IS','IJsland','ISL','352');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('IR','Iran','IRN','364');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('IQ','Irak','IRQ','368');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('IE','Ierse Republiek','IRL','372');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('IT','Italië','ITA','380');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('CI','Ivoorkust','CIV','384');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('JM','Jamaica','JAM','388');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('JP','Japan','JPN','392');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('YE','Jemen','YEM','887');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('CM','Kameroen','CMR','120');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('CV','Kaapverdië','CPV','132');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('KZ','Kazachstan','KAZ','398');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('KI','Kiribati','KIR','296');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('HR','Kroatië','HRV','191');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('KW','Koeweit','KWT','414');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('KG','Kirgizië','KGZ','417');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('LA','Laos','LAO','418');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('LV','Letland','LVA','428');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('LS','Lesotho','LSO','426');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('LY','Libië','LBY','434');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('MG','Madagaskar','MDG','450');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('MW','Malawi','MWI','454');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('ML','Mali','MLI','466');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('YT','Mayotte','MYT','175');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('MX','Mexico (land)','MEX','484');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('MC','Monaco','MCO','492');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('MS','Montserrat','MSR','500');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('MA','Marokko','MAR','504');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('MZ','Mozambique','MOZ','508');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('MM','Myanmar','MMR','104');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('NA','Namibië','NAM','516');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('NR','Nauru','NRU','520');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('NP','Nepal','NPL','524');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('NZ','Nieuw-Zeeland','NZL','554');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('NI','Nicaragua','NIC','558');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('NE','Niger (land)','NER','562');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('NG','Nigeria','NGA','566');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('UZ','Oezbekistan','UZB','860');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('NO','Noorwegen','NOR','578');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('OM','Oman','OMN','512');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('UG','Oeganda','UGA','800');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('AT','Oostenrijk','AUT','040');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('TL','Oost-Timor','TLS','626');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('PK','Pakistan','PAK','586');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('PW','Palau (land)','PLW','585');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('PS','Palestina','PSE','275');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('PA','Panama (land)','PAN','591');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('PY','Paraguay','PRY','600');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('PE','Peru','PER','604');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('PL','Polen','POL','616');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('PR','Puerto Rico','PRI','630');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('QA','Qatar','QAT','634');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('RO','Roemenië','ROU','642');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('RU','Rusland','RUS','643');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('RW','Rwanda','RWA','646');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('EH','Westelijke Sahara','ESH','732');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('LC','Saint Lucia','LCA','662');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('WS','Samoa','WSM','882');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('SM','San Marino','SMR','674');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('SN','Senegal','SEN','686');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('SC','Seychellen','SYC','690');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('SL','Sierra Leone','SLE','694');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('SG','Singapore','SGP','702');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('SH','Sint Helena','SHN','654');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('SK','Slowakije','SVK','703');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('SI','Slovenië','SVN','705');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('SB','Solomon Eilanden','SLB','090');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('SO','Somalië','SOM','706');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('ES','Spanje','ESP','724');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('LK','Sri Lanka','LKA','144');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('SD','Soedan','SDN','736');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('SR','Suriname','SUR','740');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('SY','Syrië','SYR','760');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('TJ','Tadzjikistan','TJK','762');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('TW','Taiwan','TWN','158');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('TH','Thailand','THA','764');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('TG','Togo','TGO','768');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('TO','Tonga (land)','TON','776');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('TD','Tsjaad','TCD','148');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('TN','Tunesië','TUN','788');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('TR','Turkije','TUR','792');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('TM','Turkmenistan','TKM','795');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('TV','Tuvalu','TUV','798');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('UY','Uruguay','URY','858');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('VU','Vanuatu','VUT','548');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('VE','Venezuela','VEN','862');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('VN','Vietnam','VNM','704');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('ZM','Zambia','ZMB','894');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('ZW','Zimbabwe','ZWE','716');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('SE','Zweden','SWE','752');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('CH','Zwitserland','CHE','756');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('VI','Amerikaanse Maagdeneilanden','VIR','850');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('AI','Anguilla','AIA','660');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('AQ','Antarctica','ATA','010');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('AU','Australië','AUS','036');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('AZ','Azerbeidzjan','AZE','031');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('BS','Bahama\'s','BHS','044');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('BB','Barbados','BRB','052');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('BM','Bermuda','BMU','060');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('BW','Botswana','BWA','072');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('BR','Brazilië','BRA','076');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('VG','Britse Maagdeneilanden','VGB','092');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('IO','Brits IO Territorium','VGB','092');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('BG','Bulgarije','BGR','100');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('BF','Burkina Faso','BFA','854');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('BI','Burundi','BDI','108');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('KH','Cambodja','KHM','116');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('CF','Centraal-Afrikaanse Republiek','CAF','140');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('CX','Christmaseiland','CXR','162');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('CC','Cocoseilanden','CCK','166');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('CO','Colombia','COL','170');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('KM','Comoren','COM','174');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('CG','Congo-Brazzaville','COG','178');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('CD','Congo-Kinshasa','COD','180');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('CK','Cookeilanden','COK','184');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('CR','Costa Rica','CRI','188');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('DK','Denemarken','DNK','208');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('DJ','Djibouti','DJI','262');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('DM','Dominica','DMA','212');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('DO','Dominicaanse Republiek','DOM','214');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('DE','Duitsland','DEU','276');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('EC','Ecuador','ECU','218');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('SV','El Salvador','SLV','222');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('GQ','Equatoriaal-Guinea','GNQ','226');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('ER','Eritrea','ERI','232');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('ET','Ethiopië','ETH','231');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('FK','Falklandeilanden','FLK','238');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('FI','Finland','FIN','246');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('PF','Frans-Polynesië','PYF','258');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('TF','Franse Zuidelijke Gebieden','ATF','260');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('GI','Gibraltar','GIB','292');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('GL','Groenland','GRL','304');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('GP','Guadeloupe','GLP','312');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('GT','Guatemala','GTM','320');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('GW','Guinee-Bissau','GNB','624');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('HM','Heard- en McDonaldeilanden','HMD','334');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('HN','Honduras','HND','340');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('HK','Hongkong','HKG','344');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('IN','India','IND','356');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('ID','Indonesië','IDN','360');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('IM','Isle of Man','','833');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('IL','Israël','ISR','376');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('JO','Jordanië','JOR','400');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('KY','Caymaneilanden','CYM','136');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('KE','Kenia','KEN','404');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('KP','Noord-Korea','PRK','408');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('LB','Libanon','LBN','422');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('LR','Liberia','LBR','430');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('LI','Liechtenstein','LIE','438');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('LT','Litouwen','LTU','440');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('LU','Luxemburg','LUX','442');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('MO','Macao','MAC','446');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('MK','Macedonië','MKD','807');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('MY','Maleisië','MYS','458');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('MV','Maldiven','MDV','462');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('MT','Malta','MLT','470');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('MQ','Martinique','MTQ','474');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('MR','Mauritanië','MRT','478');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('MU','Mauritius','MUS','480');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('FM','Micronesia','FSM','583');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('MD','Moldavië','MDA','498');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('MN','Mongolië','MNG','496');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('NL','Nederland','NLD','528');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('AN','Nederlandse Antillen','ANT','530');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('NC','Nieuw-Caledonië','NCL','540');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('NU','Niue','NIU','570');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('NF','Norfolkeiland','NFK','574');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('MP','Noordelijke Marianen','MNP','580');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('UA','Oekraïne','UKR','804');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('PG','Papoea-Nieuw-Guinea','PNG','598');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('PN','Pitcairn','PCN','612');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('PT','Portugal','PRT','620');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('RE','Réunion','REU','638');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('KN','Saint Kitts en Nevis','KNA','659');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('PM','Saint-Pierre en Miquelon','SPM','666');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('VC','Saint Vincent en de Grenadines','VCT','670');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('GS','Sandwich Eilanden','SGS','239');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('ST','São Tomé en Principe','STP','678');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('SA','Saoedi-Arabië','SAU','682');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('CS','Servië en Montenegro','SCG','891');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('SJ','Jan Mayen','SJM','744');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('SZ','Swaziland','SWZ','748');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('TZ','Tanzania','TZA','834');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('TK','Tokelau','TKL','772');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('TT','Trinidad en Tobago','TTO','780');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('CZ','Tsjechië','CZE','203');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('TC','Turks en Caicos eilanden','TCA','796');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('AE','Verenigde Arabische Emiraten','ARE','784');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('GB','Verenigd Koninkrijk','GBR','826');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('US','Verenigde Staten van Amerika','USA','840');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('VA','Vaticaanstad','VAT','336');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('WF','Wallis en Futuna','WLF','876');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('BY','Wit-Rusland','BLR','112');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('ZA','Zuid-Afrika','ZAF','710');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('KR','Zuid-Korea','KOR','410');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('MH','Marshalleilanden','MHL','584');<br />
INSERT INTO nlcountry (iso,printable_name,iso3,numcode) VALUES ('UM','Kleine Pacifische eilanden VS','UMI','581');<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.icheb.info/2005/12/iso-landen-in-het-nederlands/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Another bug in the IXR XML-RPC lib</title>
		<link>http://www.icheb.info/2005/05/another-bug-in-the-ixr-xml-rpc-lib/</link>
		<comments>http://www.icheb.info/2005/05/another-bug-in-the-ixr-xml-rpc-lib/#comments</comments>
		<pubDate>Sun, 22 May 2005 07:58:22 +0000</pubDate>
		<dc:creator>Icheb</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[IXR]]></category>
		<category><![CDATA[XML-RPC]]></category>

		<guid isPermaLink="false">http://www.icheb.info/2007/05/01/another-bug-in-the-ixr-xml-rpc-lib/</guid>
		<description><![CDATA[Some time ago I&#8217;d written a modification to the XML-RPC lib from Incutio (see http://www.icheb.info/2007/01/28/ixr-incutio-xml-rpc-with-ssl-support/). But there was more&#8230; Today, a friend mailed me with a problem (and solution) for a new problem everyone has missed so far. I&#8217;ve placed a modified version online at: http://www.icheb.nl/icheb_info_blog/IXR/IXR_Library.inc.php_2.txt If you actually want to know what&#8217;s wrong, and&#8230; <a class="continue_reading" href="http://www.icheb.info/2005/05/another-bug-in-the-ixr-xml-rpc-lib/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>Some time ago I&#8217;d written a modification to the XML-RPC lib from Incutio (see <a href="http://www.icheb.info/2007/01/28/ixr-incutio-xml-rpc-with-ssl-support/">http://www.icheb.info/2007/01/28/ixr-incutio-xml-rpc-with-ssl-support/</a>).</p>
<p>But there was more&#8230; Today, a friend mailed me with a problem (and solution) for a new problem everyone has missed so far.<br />
I&#8217;ve placed a modified version online at: <a href="http://www.icheb.nl/icheb_info_blog/IXR/IXR_Library.inc.php_2.txt">http://www.icheb.nl/icheb_info_blog/IXR/IXR_Library.inc.php_2.txt</a></p>
<p>If you actually want to know what&#8217;s wrong, and why, click the more button below <img src='http://www.icheb.info/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .<br />
<span id="more-48"></span><br />
<em>Recently, I had to create some webservices using the IXR Library.</em></p>
<p><em>After having designed the webservices, I created the server according to a basic IXRServer extend.</em></p>
<p><em>Just to test, I then wrote a simple client, which worked just fine.<br />
However, when I wanted to migrate the PHP based client to an AJAX based web client, I stumbled upon some issues.</em></p>
<p><em>Let me try to explain this by example.</em></p>
<p><em>A pretty normal XML request for IXR looks as follows (without the xml declaration):<br />
</em><code>&lt;pre lang="xml" line="1"&gt;</code></p>
<p>ixr.test.fetchVar</p>
<p>testvar testvar2<br />
&lt;/pre&gt;</p>
<p><em>Take note of the fact that this request has NO typing information, for it cannot be generated by the JS libraries I use.<br />
Under normal circumstances (using the IXRClient), the parameter type information would have shown, as in e.g.:</em><br />
<code>&lt;pre lang="xml" line="1"&gt;</code> testvar testvar2&lt;/pre&gt;<br />
<em><br />
It is exactly this however, that creates the issue. Where the normal IXRCLient will correctly return data,<br />
The AJAX based client will not show anything.</em></p>
<p><em>Digging into the code, I discovered the error. Things start to go wrong as soon as there’s NO typing information available for a parameter.</em></p>
<p><em>Dumping my data, I discovered that all ‘newline’ characters were left intact.<br />
In the case as described, there’s more then one: just after , after and after </em></p>
<p><em>For the first encountered variable, I this end up with a parsed value of “\n\n\ntestvar”<br />
Every encountered newline character seems to be added to the value, but NOT removed, as I expected.</em></p>
<p><em>Now for a solution:<br />
Inside the IXRMessage, things are parsed by an XMLParser.<br />
Inside the ‘tag_close’ call, things are rendered and converted to contain correct values.<br />
Except for in case, the case where there’s no typing information!<br />
In every other case (except for base64), the value to be set is first trim()’d.</em></p>
<p><em>The code for the ‘value’ tag, however, is NOT:</em><br />
<code>&lt;pre lang="PHP" line="1"&gt;</code> case &#8216;value&#8217;:<br />
// &#8220;If no type is indicated, the type is string.&#8221;<br />
if (trim($this-&gt;_currentTagContents) != &#8221;) {<br />
$value = (string)$this-&gt;_currentTagContents;<br />
$this-&gt;_currentTagContents = &#8221;;<br />
$valueFlag = true;<br />
}<br />
break;<br />
&lt;/pre&gt;<br />
<em><br />
As one can see from the code above, the if-statement does a trim, but the trimmed string is NEVER assigned.<br />
One possible solution for the code above could be (I decided to break down in two lines):</em><br />
<code>&lt;pre lang="php" line="1"&gt;</code><br />
if (trim($this-&gt;_currentTagContents) != &#8221;) {<br />
$value = trim($this-&gt;_currentTagContents);<br />
$value = (string)$value;<br />
$this-&gt;_currentTagContents = &#8221;;<br />
$valueFlag = true;<br />
}<br />
break;<br />
&lt;/pre&gt;<br />
<em></em></p>
<p><em>This solution now also strips the surrounding whitespace, tabs, newlines, etc from the input, as can be expected!</em></p>
<p>Rogier van Dongen, thank you for this patch <img src='http://www.icheb.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
]]></content:encoded>
			<wfw:commentRss>http://www.icheb.info/2005/05/another-bug-in-the-ixr-xml-rpc-lib/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

