<?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>alexander kirk &#187; bandnews</title>
	<atom:link href="http://alexander.kirk.at/category/projects/bandnews/feed/" rel="self" type="application/rss+xml" />
	<link>http://alexander.kirk.at</link>
	<description></description>
	<lastBuildDate>Thu, 22 Jul 2010 15:11:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>PHP and Multibyte</title>
		<link>http://alexander.kirk.at/2005/04/05/php-and-multibyte/</link>
		<comments>http://alexander.kirk.at/2005/04/05/php-and-multibyte/#comments</comments>
		<pubDate>Mon, 04 Apr 2005 23:58:01 +0000</pubDate>
		<dc:creator>Alexander Kirk</dc:creator>
				<category><![CDATA[bandnews]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://alex.bandnews.org/?p=11</guid>
		<description><![CDATA[ever messed around with umlauts or other non [a-z] letters? it&#039;s quite horrible. for the german speaking region there are mainly two encoding types: iso8859-1 and utf-8. the former encodes each letter with one byte by extending old 7-bit ascii with 127 more letters, amongst others also umlauts. utf-8 includes up to 32,640 more&#160;&#160;letters (ascii [...]]]></description>
			<content:encoded><![CDATA[<p>ever messed around with umlauts or other non [a-z] letters? it&#039;s quite horrible.</p>
<p>for the german speaking region there are mainly two encoding types: iso8859-1 and utf-8. the former encodes each letter with one byte by extending old 7-bit ascii with 127 more letters, amongst others also umlauts. utf-8 includes up to 32,640 more&nbsp;&nbsp;letters (ascii 0&#215;80-0xff are used to select the range of the following byte). this is established by allowing multi-byte characters. in the case of utf-8 the maximum is two letters, but there exist utf-16 and utf-32 with up to 4 bytes per char.</p>
<p>so, what&#039;s the problem? with bandnews we have different sources for our data, meaning that we receive many pages with many different encodings and have to deliver a page that follows only one encoding. we chose to use utf-8 now, because a wide range of letters from many other encodings can be displayed which are not included in iso8859-1.</p>
<p>now it is important that you stop using <a href="http://php.net/strlen">strlen</a> and <a href="http://php.net/substr">substr</a> because it can easily happen that you split an utf-8 character into parts, and forget comparing it to anything, then. alterenatives are <a href="http://php.net/mb_strlen">mb_strlen</a> and <a href="http://php.net/mb_substr">mb_substr</a> and all other sorts of <a href="http://php.net/manual/en/ref.mbstring.php">mb_*</a> functions. well&#8230; this does not work out of the box, you need to specify what encoding is to be expected. this can be done like this:<br />
<code><br />
mb_internal_encoding("UTF-8");<br />
</code><br />
all mb_* commands use this encoding if no other is specified.</p>
<p>still, non-utf-8 code can come through to the browser, e.g. if you receive it from the database. but there is a chance to get around this quite comfortably:<br />
<code><br />
mb_http_output("UTF-8");<br />
ob_start("mb_output_handler");<br />
</code><br />
the output buffer is cleared from wrong charactes by the mb_output_handler. it is also easily possible to have the output converted to iso8859-1, just by specifying it with the <a href="http://php.net/mb_http_output">mb_http_output</a> command.<br />
a drawback is, though, that no other output filter can be applied, such as for output compression<br />
<code><br />
ob_start("ob_gzhandler");<br />
</code></p>
<p>the manual states that instead zlib compression should be used, as specified in the php.ini file or via <a href="http://php.net/ini_set">ini_set</a>:<br />
<code><br />
ini_set ('zlib.output_compression', 'on');<br />
ini_set ('zlib.output_handler', 'mb_output_handler');<br />
ob_start();<br />
</code><br />
note that the output-handler for <a href="http://php.net/ob_start">ob_start</a> has to be empty and it is moved to the config option. this sounds great, but i was not able to get it to work. well, i must admit that i did not put so much time into it because i simply decided to move the responsibility to apache: <a href="http://httpd.apache.org/docs-2.0/mod/mod_deflate.html">mod_deflate</a>. you might want to modify the configuration line, as i did:<br />
<code><br />
 AddOutputFilterByType DEFLATE text/html text/plain text/xml text/javascript text/css<br />
</code></p>
<p>have fun with character encoding. it works after some while. but its a lot of trial and error.</p>
]]></content:encoded>
			<wfw:commentRss>http://alexander.kirk.at/2005/04/05/php-and-multibyte/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>live search</title>
		<link>http://alexander.kirk.at/2005/03/23/live-search/</link>
		<comments>http://alexander.kirk.at/2005/03/23/live-search/#comments</comments>
		<pubDate>Wed, 23 Mar 2005 16:02:09 +0000</pubDate>
		<dc:creator>Alexander Kirk</dc:creator>
				<category><![CDATA[bandnews]]></category>

		<guid isPermaLink="false">http://alex.bandnews.org/?p=10</guid>
		<description><![CDATA[I have just integrated a cool new feature into bandnews: while typing, matching bands are now displayed underneath the searchbox. cool and fast alternative to the band dropdown.]]></description>
			<content:encoded><![CDATA[<p>I have just integrated a cool new feature into bandnews: while typing, matching bands are now displayed underneath the searchbox. cool and fast alternative to the band dropdown.</p>
]]></content:encoded>
			<wfw:commentRss>http://alexander.kirk.at/2005/03/23/live-search/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>returned to vienna</title>
		<link>http://alexander.kirk.at/2005/03/23/returned-to-vienna/</link>
		<comments>http://alexander.kirk.at/2005/03/23/returned-to-vienna/#comments</comments>
		<pubDate>Wed, 23 Mar 2005 14:19:09 +0000</pubDate>
		<dc:creator>Alexander Kirk</dc:creator>
				<category><![CDATA[bandnews]]></category>
		<category><![CDATA[personal]]></category>

		<guid isPermaLink="false">http://alex.bandnews.org/?p=9</guid>
		<description><![CDATA[i&#039;m back in vienna once again.. spent some time at berlin. went to 2 concerts (gustav and monta) but also worked on bandnews. now there are magazines integrated with bandnews, too. starting with 3 german ones (laut.de, spex.de and tonspion.de) we will integrate even more mags step by step. furthermore some major bugs with news [...]]]></description>
			<content:encoded><![CDATA[<p>i&#039;m back in vienna once again.. spent some time at berlin. went to 2 <a href="/misc/concerts.php">concerts</a> (gustav and monta) but also worked on bandnews.</p>
<p>now there are magazines integrated with bandnews, too. starting with 3 german ones (laut.de, spex.de and tonspion.de) we will integrate even more mags step by step.<br />
furthermore some major bugs with news input were fixed (mainly due to the server move and the new code responsible for news aggregation), and duplicates were filtered.</p>
]]></content:encoded>
			<wfw:commentRss>http://alexander.kirk.at/2005/03/23/returned-to-vienna/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>my bandnews</title>
		<link>http://alexander.kirk.at/2004/11/08/5/</link>
		<comments>http://alexander.kirk.at/2004/11/08/5/#comments</comments>
		<pubDate>Mon, 08 Nov 2004 10:01:51 +0000</pubDate>
		<dc:creator>Alexander Kirk</dc:creator>
				<category><![CDATA[bandnews]]></category>

		<guid isPermaLink="false">http://alex.bandnews.org/?p=5</guid>
		<description><![CDATA[new feature available at bandnews! at my.bandnews.org you can choose your favorite bands. those bands&#039; news are then displayed on a single page. go there!!]]></description>
			<content:encoded><![CDATA[<p>new feature available at bandnews! at my.bandnews.org you can choose your favorite bands. those bands&#039; news are then displayed on a single page. go there!!</p>
]]></content:encoded>
			<wfw:commentRss>http://alexander.kirk.at/2004/11/08/5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>new project pages</title>
		<link>http://alexander.kirk.at/2004/10/19/new-project-pages/</link>
		<comments>http://alexander.kirk.at/2004/10/19/new-project-pages/#comments</comments>
		<pubDate>Tue, 19 Oct 2004 10:04:30 +0000</pubDate>
		<dc:creator>Alexander Kirk</dc:creator>
				<category><![CDATA[bandnews]]></category>
		<category><![CDATA[projects]]></category>

		<guid isPermaLink="false">http://alex.bandnews.org/?p=6</guid>
		<description><![CDATA[new pages about projects are available: bandnews and monta. i&#039;ve done these while my current finishing-my-studies-phase.]]></description>
			<content:encoded><![CDATA[<p>new pages about projects are available: <a href="/about/projects/bandnews.php">bandnews</a> and <a href="/about/projects/monta.php">monta</a>. i&#039;ve done these while my current finishing-my-studies-phase.</p>
]]></content:encoded>
			<wfw:commentRss>http://alexander.kirk.at/2004/10/19/new-project-pages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
