Php-Mysql Türkçe Karakter sorunu

Kodla Büyü

iskender

Aktif Üye
Mesajlar
202
Arkadaşlar bilen biri yardım etsin lütfen,
Veri tabanına veri kaydederken türkçe karakter sorunu yaşıyorum,
utf8 turkhish seciili
neden olabilir
 
Hocam bu hata genellikle web sayfalarınızın karakter kodlaması farklı olduğundan kaynaklanıyor. bağlantı cümlenin altına şu satırları ekle

mysql_query("SET NAMES 'UTF8'");
mysql_query("SET character_set_connection = 'UTF8'");
mysql_query("SET character_set_client = 'UTF8'");
mysql_query("SET character_set_results = 'UTF8'");

Dahada olmadımı sayfanda <head> etikletleri arasına şunu ekle

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

sorunun %99.9 çözülecektir.
 
twoalfa' Alıntı:
Hocam bu hata genellikle web sayfalarınızın karakter kodlaması farklı olduğundan kaynaklanıyor. bağlantı cümlenin altına şu satırları ekle

mysql_query("SET NAMES 'UTF8'");
mysql_query("SET character_set_connection = 'UTF8'");
mysql_query("SET character_set_client = 'UTF8'");
mysql_query("SET character_set_results = 'UTF8'");

Dahada olmadımı sayfanda <head> etikletleri arasına şunu ekle

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

sorunun %99.9 çözülecektir.

İşte bu hocam!
Teşekkürler
 
kesinlikle çözemedim, başka yöntem bilen var mı?
tşkr....

denemediğim yol kalmadı
 
php uzantılı dosyanı notepadd++ ile aç. Menüden utf8 bomsuz de.
 
hocalarım,
phpmyadmin de sorun yok,,

tarayıcıda mysql den gelen verilerde sadece türkçe karakter sorunu VAR::::::((((
diğer yazılarımda tarayıcıda türkçe karakter sorunu YOK:::::(((((
 
Phpmyadmin'de veritabanını seç, tablolar görüntülenince yukarıdaki İşlemler linkine tıkla. Açılan pencerede karşılaştırma seçeneği olarak utf8_turkish_ci seçeneğini seçip, Git diyerek veritabanının bu kodlamaya dönüşmesini sağla. Ayrıca veritabanındaki tabloların isimlerinin karşısındaki karşılaştırma sütunlarında da utf8_turkish_ci seçeneği seçili olsun.
Gerek formun bulunduğu sayfanın gerekse de gelen bilgileri veritabanına kaydeden sayfanın <head> bölümüne
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
ekleyerek sayfanın kodlamasının utf-8 olduğunu belirt.
.... mysql_select_db...
şeklinde başlayan veritabanı seçme kodundan sonra aşağıdaki kodları ekle
mysql_query("SET NAMES 'UTF8'");
mysql_query("SET character_set_connection = 'UTF8'");
mysql_query("SET character_set_client = 'UTF8'");
mysql_query("SET character_set_results = 'UTF8'");
Bu sayfaları notepad++ gibi bir programda dil kodlaması olarak utf-8 (BOM olmadan) şeklinde kaydet.
Ekte bu işlemleri yaparak eklediğim kayit.php dosyasını göreceksin. Kendi veritabanı ve tablolarına uygun olarak değiştirip, localhost'ta çalıştırırsan Türkçe karakter sorunu olmadan kayıt yaptığını göreceksin. Bu yöntemi denedim, sorunsuz olarak kayıt yapmaktadır. Eğer sizde yine de sorun olursa, formun bulunduğu sayfanın Türkçe karakterleri doğru gönderdiğinden emin olun, eğer bilgileri bir fonksiyon ile filtreliyorsanız, o fonksiyonun Türkçe karakterleri değiştirmediğinden emin olun.
Bütün bunlar da işe yaramazsa kayıtla ilgili dosyalarınızı buraya ekleyin bir inceleyelim.
 

Ekli dosyalar

  • kayit.zip
    459 bayt · Görüntüleme: 130
hocam tarayıcıda göstermede sorun var....
phpmyadmin de türkçe sorunu yok....
 
hocam tamam çözüldü,,,
kodları bir satır yukarı yazdım....
===
ya hocam önceden böyle kod filan yazmadan sorun olmazdı ..
ne oldu da böyle oldu anlamadım.....????!!!
 
mysql_select_db($database_bagkur, $bagkur);
$query_Recordset1 = "SELECT * FROM aaa ORDER BY a DESC";
$query_limit_Recordset1 = sprintf("%s LIMIT %d, %d", $query_Recordset1, $startRow_Recordset1, $maxRows_Recordset1);
$Recordset1 = mysql_query($query_limit_Recordset1, $bagkur) or die(mysql_error());
mysql_query("SET NAMES 'UTF8'");
mysql_query("SET character_set_connection = 'UTF8'");
mysql_query("SET character_set_client = 'UTF8'");
mysql_query("SET character_set_results = 'UTF8'");

kodlarının bulunduğu kısmı aşağıdaki gibi değiştirin.
mysql_select_db($database_bagkur, $bagkur);
mysql_query("SET NAMES 'UTF8'");
mysql_query("SET character_set_connection = 'UTF8'");
mysql_query("SET character_set_client = 'UTF8'");
mysql_query("SET character_set_results = 'UTF8'");
$query_Recordset1 = "SELECT * FROM aaa ORDER BY a DESC";
$query_limit_Recordset1 = sprintf("%s LIMIT %d, %d", $query_Recordset1, $startRow_Recordset1, $maxRows_Recordset1);
$Recordset1 = mysql_query($query_limit_Recordset1, $bagkur) or die(mysql_error());

yani dil kodlamasını değiştiren satırlar mysql_select_db satırından sonra gelsin. Siz önce sorguyu çalıştırıyor ardından dil kodlamasını değiştiriyorsunuz. Yani iş işten geçtikten sonra değişiklik yapıyorsunuz. Bunu düzeltmiş olduk. Değişikliği yapıp deneyin.
 
hocam,,
çok garip
"utf8mb4_turkish_ci" kodlama yapınca
veritabanını ve tabloyu Türkçe karakter sorunu çıkmadı..
Hiçbir kod ilavesi yapmadan.... :idea:
 
mysql_query("SET NAMES 'UTF8'");
mysql_query("SET character_set_connection = 'UTF8'");
mysql_query("SET character_set_client = 'UTF8'");
mysql_query("SET character_set_results = 'UTF8'");
bağlantı için ayrı bir dosya oluşturup bu kodları bağlantı kodlarının sonuna yapıştırırsanız her sayfada ayrı ayrı yazmamış olursunuz bu da işin pratiği
 
Geri
Üst