<?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>Volkan Altınbaş&#039;ın Seyir Defteri - CSS, XHTML, Javascript, Wordpress &#187; encoding</title>
	<atom:link href="http://www.volkanaltinbas.com/index.php/tag/encoding/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.volkanaltinbas.com</link>
	<description>Css, Javascript, Xhtml, Wordpress</description>
	<lastBuildDate>Thu, 21 Jan 2010 14:19:45 +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>Ajax Türkçe Karakter ve Cache Sorunu</title>
		<link>http://www.volkanaltinbas.com/index.php/2008/10/17/ajax-turkce-karakter-ve-cache-sorunu/</link>
		<comments>http://www.volkanaltinbas.com/index.php/2008/10/17/ajax-turkce-karakter-ve-cache-sorunu/#comments</comments>
		<pubDate>Fri, 17 Oct 2008 10:07:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[encoding]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[türkçe karakter]]></category>

		<guid isPermaLink="false">http://www.volkanaltinbas.com/blog/?p=11</guid>
		<description><![CDATA[Genel olarak ajax kullanarak yapılan data alış verişlerinde türkçe karakter problemi ile karşılaşırız. Bunun bir çok sebebi var. Nedenleri ve çözümleri hakkında çok yazılıp çizildi biliyorum fakat geçen gün karşılaştığım farklı bir sorundan bahsetmek istiyorum. Sorun ajax ile query string üzerinden gönderilen türkçe karakter. 
query adında bir parametremiz ve bu parametrenin Çicek adında bir değeri [...]]]></description>
			<content:encoded><![CDATA[<p>Genel olarak ajax kullanarak yapılan data alış verişlerinde türkçe karakter problemi ile karşılaşırız. Bunun bir çok sebebi var. Nedenleri ve çözümleri hakkında çok yazılıp çizildi biliyorum fakat geçen gün karşılaştığım farklı bir sorundan bahsetmek istiyorum. Sorun ajax ile query string üzerinden gönderilen türkçe karakter. </p>
<p><strong>query</strong> adında bir parametremiz ve bu parametrenin <strong>Çicek</strong> adında bir değeri olsun. Göndericeğimiz sayfanın ismide index.asp. Url olarak tam görünümü index.asp?query=Çiçek şeklinde olacaktır. Ajax üzerinden bu url gönderdiğimde <strong>Internet Explorer 6 &#8211; Internet Explorer 7 </strong> içinde query parametresinin değeri <strong>iek</strong> olarak görülüyordu. Firefox, Opera, Safari, Google Chrome içinde ise değer düzgün şekilde iletiliyordu. İlk olarak encoding ayarlarından şüphelendim. Database ve gönderdiğim sunucu sayfasının encoding ve karakter setini kontrol ettiğimde olması gerektiği gibi UTF-8 olduğunu gördüm.</p>
<p>Internette biraz araştırdıktan sonra sorunun javascript üzerinden gönderilen verinin encoding ayarları ile ilgili olduğunu anladım. Çözüm için javascript üzerinden gönderilen türkçe karakterlere sahip verinin sunucu sayfasına encoding yapılarak gönderilmesini sağlayan ve javascript içinde hazır bir fonksiyon olarak kullanılan <strong>encodeURIComponent() </strong> buldum. Göndericeğimiz değeri bu fonksiyon içinde gönderdiğimde problem ortadan kalkmıştı.</p>
<p>Örnek: </p>
<div class="geshi no html">
<ol>
<li class="li1">
<div class="de1">index.asp?query=&lt;strong&gt;encodeURIComponent(&quot;&lt;/strong&gt;&lt;strong&gt;Çiçek&lt;/strong&gt;&lt;strong&gt;&quot;)&lt;/strong&gt;</div>
</li>
</ol>
</div>
<p>Bu sorunu çözdükten sonra sayfaları incelemeye başladığımda <strong>Internet Explorer 6 &#8211; </strong><strong>Internet Explorer </strong><strong>7 </strong>içinde sayfadaki verilerin <strong>cache</strong> lediğini farkettim. Yine biraz araştırdıktan sonra bu sorununda genel bir sorun olduğunu ve bunu düzeltmek içinde ufak bir trick kullanıldığını gördüm. Yapılan iş aslında çok basitti. Var olan url ile birlikte query srting üzerinden random bir sayı üretilerek gönderilen başka bir parametre göndermek sorunu çözüyordu. Bu iş kullandığım ve gayet güzel iş gören fonksiyonu aşağıda bulabilirsiniz.</p>
<div class="geshi no javascript">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">function</span> noCache<span class="br0">&#40;</span>uri<span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">return</span> uri.<span class="me1">concat</span><span class="br0">&#40;</span>.<span class="me1">test</span><span class="br0">&#40;</span>uri<span class="br0">&#41;</span>  <span class="sy0">&amp;</span>amp;  , noCache=, <span class="br0">&#40;</span><span class="kw2">new</span> Date<span class="br0">&#41;</span>.<span class="me1">getTime</span><span class="br0">&#40;</span><span class="br0">&#41;</span>, ., Math.<span class="me1">random</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="nu0">1234567</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
<p>Ajax içinde göndericeğimiz URL&#8217;i bu fonksiyon içinde gönderdiğimizde artık Cache problemide ortadan kalkacaktır.</p>
<div class="geshi no javascript">
<ol>
<li class="li1">
<div class="de1">noCache<span class="br0">&#40;</span>index.<span class="me1">asp</span>?query=encodeURIComponent<span class="br0">&#40;</span><span class="st0">&quot;Çiçek&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span></div>
</li>
</ol>
</div>
<p>olarak gönderdiğimizde çıktı olarak karşımıza</p>
<div class="geshi no html">
<ol>
<li class="li1">
<div class="de1">index.asp?query=Çiçek&amp;amp;noCache=Random</div>
</li>
</ol>
</div>
<p>Sayı şeklinde bir url verecektir. Kolay gelsin.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.volkanaltinbas.com/index.php/2008/10/17/ajax-turkce-karakter-ve-cache-sorunu/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-2100567-1");
pageTracker._trackPageview();
} catch(err) {}</script>