<?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>Advanced Programming Stories &#187; utf-8</title>
	<atom:link href="http://developstories.gr/tag/utf-8/feed/" rel="self" type="application/rss+xml" />
	<link>http://developstories.gr</link>
	<description>advanced web development techniques &#38; reverse engineering stories</description>
	<lastBuildDate>Tue, 27 Jul 2010 12:57:05 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Awstats και ελληνικά</title>
		<link>http://developstories.gr/perl/awstats-%ce%ba%ce%b1%ce%b9-%ce%b5%ce%bb%ce%bb%ce%b7%ce%bd%ce%b9%ce%ba%ce%ac/</link>
		<comments>http://developstories.gr/perl/awstats-%ce%ba%ce%b1%ce%b9-%ce%b5%ce%bb%ce%bb%ce%b7%ce%bd%ce%b9%ce%ba%ce%ac/#comments</comments>
		<pubDate>Thu, 08 Jan 2009 10:43:27 +0000</pubDate>
		<dc:creator>thek</dc:creator>
				<category><![CDATA[Perl]]></category>
		<category><![CDATA[awstats]]></category>
		<category><![CDATA[utf-8]]></category>

		<guid isPermaLink="false">http://developstories.gr/?p=43</guid>
		<description><![CDATA[Ένα απο τα πιό γνωστά open source λογισμικά για την στατιστική παρακολούθηση ιστοσελίδων είναι το awstats. Στην Netwerk το παρέχουμε σε όλους τους web hosting λογαριασμούς και είμαστε αρκετά ευχαριστημένοι. Το μόνο μειονέκτημα που ανακαλύψαμε είναι οτι δέν υποστηρίζονται τα ελληνικά απευθείας. Εκεί έπρεπε να βάλουμε το χεράκι μας  
Γενικά για το Awstats
Για όσους [...]]]></description>
			<content:encoded><![CDATA[<p>Ένα απο τα πιό γνωστά open source λογισμικά για την στατιστική παρακολούθηση ιστοσελίδων είναι το <a href="http://awstats.sourceforge.net/">awstats</a>. Στην <a href="http://www.netwerk.gr/">Netwerk</a> το παρέχουμε σε όλους τους <a href="http://www.hostwerk.gr/">web hosting</a> λογαριασμούς και είμαστε αρκετά ευχαριστημένοι. Το μόνο μειονέκτημα που ανακαλύψαμε είναι οτι δέν υποστηρίζονται τα ελληνικά απευθείας. Εκεί έπρεπε να βάλουμε το χεράκι μας <img src='http://developstories.gr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h3>Γενικά για το Awstats</h3>
<p>Για όσους τυχαίνει να μήν γνωρίζουν το awstats, να πούμε μερικά βασικά πραγματάκια. Το awstats είναι ένα πρόγραμμα στατιστικών το οποίο παίρνει δεδομένα απο τα log files του web server (μπορεί να πάρει και με <a href="http://developstories.gr/tag/javascript/">javascript</a> αλλά αυτό είναι άλλη ιστορία). Σε αντίθεση με το <a href="http://www.google.com/analytics/">google analytics</a> που λειτουργεί εξ&#8217;ολοκλήρου με javascript το awstats μπορεί να μας πληροφορίσει για όλο το traffic του site μας, περιλλαμβάνοντας τις επισκέψεις bots είτε πρόκειται για search engine crawlers είτε για κακόβουλους χρήστες, οπότε σε γενικές γραμμές είναι ένα απαραίτητο εργαλείο άσχετα με το αν το analytics μπορεί να μας δώσει καλύτερη πληροφορία σχετικά με τους επισκέπτες ενός site.</p>
<h3>Awstats και ελληνικά</h3>
<p>Η βασική ρύθμιση που πρέπει να κάνουμε για να λειτουργήσει το awstats με ελληνικά είναι η ενεργοποίηση του plugin decodeutfkeys. Μιλώντας για plugins να κάνω μιά παρένθεση και να σας συστήσω να χρησιμοποιήσετε κάποιο απο τα geoIP plugins ωστε να βλέπετε τις χώρες απο τις οποίες έρχονται οι επισκέπτες σας.</p>
<p>Εφόσον ενεργοποιηθεί το decodeutfkeys θα βλέπετε τα ελληνικά keywords στις μηχανές αναζήτησης, ωστόσο δέν θα εμφανίζονται τα ελληνικά urls. Για αυτό μπορείτε να χρησιμοποιήσετε το παρακάτω hack που δημιουργήσαμε.</p>
<h3>Awstats και ελληνικά urls</h3>
<p>Για να χρησιμοποιήσετε το hack απλώς βρείτε στο awstats.pl αυτά που έχω κάνει σχόλια (# removed by thek) και αντικαταστήστε με τον παρακάτω κώδικα:</p>
<pre class="brush: php;">

# my $nompage = CleanXSS($url); # removed by thek

# { patched by thek

my $nompage = &quot;&quot;;

if ( $PluginsLoaded{'DecodeKey'}{'decodeutfkeys'} ) {

$nompage = CleanXSS(

DecodeKey_decodeutfkeys(

$url, $PageCode || 'iso-8859-1'

)

);

}

else { $nompage = CleanXSS( $url ); }

# } patched by thek

# { removed by thek

#if ( length($nompage) &gt; $MaxLengthOfShownURL ) {

#$nompage = substr( $nompage, 0, $MaxLengthOfShownURL ) . &quot;...&quot;;

#}

# } removed by thek
</pre>
]]></content:encoded>
			<wfw:commentRss>http://developstories.gr/perl/awstats-%ce%ba%ce%b1%ce%b9-%ce%b5%ce%bb%ce%bb%ce%b7%ce%bd%ce%b9%ce%ba%ce%ac/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>String UTF-8</title>
		<link>http://developstories.gr/php/string-utf-8/</link>
		<comments>http://developstories.gr/php/string-utf-8/#comments</comments>
		<pubDate>Tue, 27 May 2008 09:54:11 +0000</pubDate>
		<dc:creator>thek</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[utf-8]]></category>

		<guid isPermaLink="false">http://developstories/?p=20</guid>
		<description><![CDATA[Ένας γρήγορος τρόπος ελέγχου αν ένα string είναι utf-8. Πρώτα μετατρέπουμε το string σε utf-8 (utf encode). Στην συνέχεια το ξαναμετατρέπουμε στο αρχικό format (utf decode). Αν το crc του αρχικού είναι ίδιο με το crc του τελικού τότε είναι utf-8.

function is_utf8($str) {
	$str_u8=iconv('Windows-1253','UTF-8',$str);
	return (crc32($str)==crc32(iconv('UTF-8','Windows-1253',$str_u8))) ? true : false;
}

]]></description>
			<content:encoded><![CDATA[<p>Ένας γρήγορος τρόπος ελέγχου αν ένα string είναι <a href="http://en.wikipedia.org/wiki/UTF-8">utf-8</a>. Πρώτα μετατρέπουμε το string σε utf-8 (utf encode). Στην συνέχεια το ξαναμετατρέπουμε στο αρχικό format (utf decode). Αν το <a href="http://en.wikipedia.org/wiki/Cyclic_redundancy_check">crc</a> του αρχικού είναι ίδιο με το crc του τελικού τότε είναι utf-8.</p>
<pre class="brush: php;">
function is_utf8($str) {
	$str_u8=iconv('Windows-1253','UTF-8',$str);
	return (crc32($str)==crc32(iconv('UTF-8','Windows-1253',$str_u8))) ? true : false;
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://developstories.gr/php/string-utf-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
