PhpDeveloper adlı üyeden alıntı: mesajı görüntüle
yarar hocam sayfanın charsetini utf-8 yapın mysql karakter setleri 8859 olarak kalsın mysql den çektiğiniz verileri fonksiyondan geçirin düzelmesi gerekiyor.
Hocam sayfanın charseti
header('Content-type: text/csv; charset=UTF-8');

mysql charsetler
mysql_query("SET NAMES ISO-8859-9");
mysql_query("SET CHARACTER SET ISO-8859-9");
mysql_query("SET COLLATION_CONNECTION='ISO-8859-9'");

Ayrıyetten verileri bu fonksiyondan geçiriyorum
function tr($veri)
{
$veri = iconv("ISO-8859-9","UTF-8",$veri);
return $veri;
}

Sonuç yine aynı hocam. Veri tabanı karşılaştırmasıda utf 8 genaral ci

--R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 04:04:30 -->-> Daha önceki mesaj 03:52:44 --

Şöyle yapınca düzelti Hayret

Sırasıyla yazıyorum.

Phpmyadmin deki veri tabanı karşılaştırma seti utf8_general_ci

mysql query dosyasındaki karakter seti
mysql_query("SET NAMES latin5");
mysql_query("SET CHARACTER SET latin5");
mysql_query("SET COLLATION_CONNECTION='latin5_turkish_ci'");

Php dosyasındaki header
header('Content-type: text/csv; charset=latin5');

Sonuç:


Biraz saçma gibi geldi ama şimdilik iş görüyor

Ayrıyetten bu kodlarda işe yarıyor.
$urun_aciklama = mb_convert_encoding($urun_aciklama ,'ISO-8859-9',mb_detect_encoding($urun_aciklama ,'UTF-8',true));
$urunisim = mb_convert_encoding($urunisim ,'ISO-8859-9',mb_detect_encoding($urunisim ,'UTF-8',true));