• Programlama
  • PHP
  • Php de veri cekerken ve veri kaydederken türkçe karakter hatası oluyo

Php de veri cekerken ve veri kaydederken türkçe karakter hatası oluyo

0
Onaylı Üye
Üye
Katılım
8 Mayıs 2011
Mesajlar
210
Tepki puanı
0
Php de veri cekerken ve veri kaydederken türkçe karakter hatası oluyo
 
0
Onaylı Üye
Üye
Katılım
8 Mayıs 2011
Mesajlar
210
Tepki puanı
0
Teşekkür ederim ama işime yaramadı anlamadım gitti ya veri tabanında düzgün yaazan veriler localhosta geldiginde bozuluyo... :(
 
0
Onaylı Üye
Üye
Katılım
30 Aralık 2010
Mesajlar
256
Tepki puanı
3
kendine iki yoldan birini belirlicen. ikisi de doğru çözümdür.

ya tüm dosyaların ANSI olarak kayıt edilecek, tüm charset lerin ISO-8859-9 olacak mysql in latin5 olacak.

ya da tüm dosyaların UTF-8 (BOM'suz) olarak kayıt edilecek, tüm charset lerin UTF-8 olacak mysql in utf8 olacak.

bunları yaptıktan sonra dosyalarda, değişken isimlerinde kısaca her yer de istediğin karakteri kullanabilirsin.

sıkıntı: başka charset li bi siteden curl ile veri çekmek de.

bunun da çözümü;
PHP:
function kaynak( $adres, $ileti = false )
{
	$işlem = curl_init();
	$başlık[0] = "Accept: text/xml,application/xml,application/xhtml+xml,";
	$başlık[0] .= "text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
	$başlık[] = "Cache-Control: max-age=0";
	$başlık[] = "Connection: keep-alive";
	$başlık[] = "Keep-Alive: 300";
	$başlık[] = "Accept-Charset: ISO-8859-9,utf-8;q=0.7,*;q=0.7";
	$başlık[] = "Accept-Language: en-us,en;q=0.5";
	$başlık[] = "Pragma: ";

	curl_setopt($işlem, CURLOPT_URL, $adres);
	curl_setopt($işlem, CURLOPT_USERAGENT, 'Googlebot/2.1 (+http://www.google.com/bot.html)');
	curl_setopt($işlem, CURLOPT_HTTPHEADER, $başlık);
	curl_setopt($işlem, CURLOPT_REFERER, 'http://www.google.com');
	curl_setopt($işlem, CURLOPT_ENCODING, 'gzip,deflate');
	curl_setopt($işlem, CURLOPT_AUTOREFERER, true);
	curl_setopt($işlem, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($işlem, CURLOPT_TIMEOUT, 10);
	curl_setopt($işlem, CURLOPT_POST, $ileti ? true : false );
	curl_setopt($işlem, CURLOPT_POSTFIELDS, $ileti ? $ileti : false );

	$html = curl_exec( $işlem );
	curl_close( $işlem );

	return $html;
}
Ben tüm dosyalarımı utf8 e ayarlı kullanıyorum. hiç bi yer de hiç bi karakter hatası yok..

Ayrıca iso değil utf kullanmanın en büyük avantajı başka bi siteyle doğrudan veri alışverişin varsa örneğin bir facebook uygulaması oluşturuyosan tam uyumlu olman.

Ekleme: Ha unutmadan. şimdi ANSI yi UTF-8 (BOM'suz) a çevirirsin veya tam tersine çevirirsin; sayfadaki tüm Türkçe karakterler arza yapar. Tek tek düzeltmeye uğraşırsın :D ben yapmıştım hani ordan biliyorum, yok canım yapmam deme :D Düzgün haline ctrl+a ctrl+c yap hepsini kopyala. Çeviriyi yap, karakterler bozulunca yine ctrl+a ctrl+v yapar düzeltirsin..
 
Geri
Üst