<?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>Leoman's blog &#187; problem</title>
	<atom:link href="http://leoman.gen.tr/tag/problem/feed/" rel="self" type="application/rss+xml" />
	<link>http://leoman.gen.tr</link>
	<description>bi blög</description>
	<lastBuildDate>Mon, 28 Feb 2011 06:55:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>MySQL&#8217;de karakter seti problemi yoktur!</title>
		<link>http://leoman.gen.tr/2009/06/mysqlde-karakter-seti-problemi-yoktur/</link>
		<comments>http://leoman.gen.tr/2009/06/mysqlde-karakter-seti-problemi-yoktur/#comments</comments>
		<pubDate>Wed, 10 Jun 2009 16:44:57 +0000</pubDate>
		<dc:creator>leoman</dc:creator>
				<category><![CDATA[Programlama]]></category>
		<category><![CDATA[Sistem Yönetimi]]></category>
		<category><![CDATA[charset]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[nasıl]]></category>
		<category><![CDATA[problem]]></category>

		<guid isPermaLink="false">http://leoman.gen.tr/?p=64</guid>
		<description><![CDATA[Bir çok insan tarafından şu sözleri duyuyorum;  &#8220;MySQL&#8217;de veritabanı aktarınca karakter problemi çıkıyor.&#8221;, &#8220;MySQL&#8217;de karakter seti problemi var.&#8221; Hayır efendim MySQL&#8217;de karakter seti problemi yoktur, MySQL&#8217;in huyunu suyunu bilmeyen insan vardır. MySQL veritabanı çalışmasında iki tane farklı karakter seti kullanır. Bunlardan birincisi veritabanı motoruna (database engine; MyISAM, InnoDB) verilir. İkincil olarak bağlantı karakter setidir ve [...]]]></description>
			<content:encoded><![CDATA[<p>Bir çok insan tarafından şu sözleri duyuyorum;  &#8220;MySQL&#8217;de veritabanı aktarınca karakter problemi çıkıyor.&#8221;, &#8220;MySQL&#8217;de karakter seti problemi var.&#8221;</p>
<p>Hayır efendim MySQL&#8217;de karakter seti problemi yoktur, MySQL&#8217;in huyunu suyunu bilmeyen insan vardır.</p>
<p>MySQL veritabanı çalışmasında iki tane farklı karakter seti kullanır. Bunlardan birincisi veritabanı motoruna (database engine; MyISAM, InnoDB) verilir. İkincil olarak bağlantı karakter setidir ve MySQL Client&#8217;a verilir.</p>
<p>Öntanımlı MySQL kurulumlarında (Örneğin; Distro repolarından, cPanel, Plesk, vb. hosting otomasyon yazılımları ile)  bağlantı ve veritabanı karakter seti latin1 olarak gelmektedir.</p>
<p>En sık yapılan hatayı şöyle basit bir hatadır. Kişi gider veritabanını UTF-8 olarak yaratır. Sonra PHP ile sadece bağlanır ve sürekli veri yazar fakat bu veriyi yazdıran zat-ı muhterem bu sunucuya bağlantı sırasında MySQL Client&#8217;ın kullandığı karakter seti merak etmez. Bunu irdelemediği için de UTF-8 veritabanına Latin1 ile bağlanır ve verileri böyle yazar. Sonuç! absürt karakterlere sahip bir veritabanı.</p>
<p>Ne yapıyormuşuz demek ki, veritabanını istediğimiz karakter seti ile yaratıyormuşuz, daha sonra bağlanırken de veritabanının sahip olduğu karakter seti ile bağlanıyormuşuz. Evet tam olarak böyle.</p>
<p>Mesela UTF-8 bir veritabanı yarattığımızı varsayalım. Buna bağlanırken kesinlikle şunu yapmıyoruz;<br />
<code lang="php"><br />
mysql_connect("server","kullanici","sifre");<br />
mysql_select_db("veritabani");<br />
mysql_query("insert into tablo ('a','b') values ('ÇÖPĞÖÜĞÜ','İŞÜĞÜMÖMÖM')");<br />
</code><br />
Bunun yerine; bağlantıdan hemen sonra bir seferlik;<br />
<code lang="php"><br />
mysql_connect("server","kullanici","sifre");<br />
mysql_select_db("veritabani");<br />
mysql_query("SET NAMES UTF8");<br />
mysql_query("SET CHARACTER SET UTF8");</p>
<p>mysql_query("insert into tablo ('a','b') values ('ÇÖPĞÖÜĞÜ','İŞÜĞÜMÖMÖM')");<br />
</code><br />
durumu MySQL&#8217;e bildiriyoruz.</p>
<p>Tabi ki bir projede 50 yerde bağlantı kuranlar bu noktada OOP&#8217;nin neden varolduğunu anlayabilirler.</p>
<p>- &#8220;Ee bilmem ne SQL Server bunu otomatik seçiyormuş&#8221;.</p>
<p>- Peki multi collation olan bu sistemde farklı farklı tablolar için ne yapmayı düşünüyorsun? diye sormazlar mı kişiye.</p>
<p>Önemli olan nasıl yediğin değil, o yoğurdu yemek!</p>
<div style="height:66px;" class="really_simple_share robots-nocontent snap_nopreview"><div class="really_simple_share_facebook_like" style="width:100px;"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fleoman.gen.tr%2F2009%2F06%2Fmysqlde-karakter-seti-problemi-yoktur%2F&amp;layout=box_count&amp;show_faces=false&amp;width=&amp;action=recommend&amp;colorscheme=light&amp;send=false&amp;height=62" 
						scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:px; height:62px;" allowTransparency="true"></iframe></div><div class="really_simple_share_google1" style="width:80px;"><div class="g-plusone" data-size="tall" data-href="http://leoman.gen.tr/2009/06/mysqlde-karakter-seti-problemi-yoktur/" ></div></div><div class="really_simple_share_linkedin" style="width:100px;"><script type="IN/Share" data-counter="top" data-url="http://leoman.gen.tr/2009/06/mysqlde-karakter-seti-problemi-yoktur/"></script></div><div class="really_simple_share_digg" style="width:100px;"><script type="text/javascript" src="http://widgets.digg.com/buttons.js"></script>
					<a class="DiggThisButton DiggMedium" href="http://digg.com/submit?url=http://leoman.gen.tr/2009/06/mysqlde-karakter-seti-problemi-yoktur/&amp;title=MySQL&amp;#8217;de karakter seti problemi yoktur!"></a></div><div class="really_simple_share_stumbleupon" style="width:100px;"><script type="text/javascript" src="http://www.stumbleupon.com/hostedbadge.php?s=5&amp;r=http://leoman.gen.tr/2009/06/mysqlde-karakter-seti-problemi-yoktur/"></script></div><div class="really_simple_share_twitter" style="width:100px;"><a href="http://twitter.com/share" class="twitter-share-button" data-count="vertical" 
						data-text="MySQL&#8217;de karakter seti problemi yoktur!" data-url="http://leoman.gen.tr/2009/06/mysqlde-karakter-seti-problemi-yoktur/" 
						data-via="leventyalcinn"   data-related="leoman:The author of this post" ></a></div></div>
		<div style="clear:both;"></div>]]></content:encoded>
			<wfw:commentRss>http://leoman.gen.tr/2009/06/mysqlde-karakter-seti-problemi-yoktur/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

