• 25-11-2009, 17:49:32
    #1
    gdi
    Üyeliği durduruldu
    merhaba arkadaslar. Asagidaki mail.php kullaniyorum. ama formu dolduranlarda turkce karakterler bozuk cikiyor.

    bunun cozumu nedir ?

    <?
    $mailadresi="bilgi@benimsite***.com";//kendi mail adresin
    
    $mesaj = "<table width=500 border=0>"; //tablo olusturuyoruz
    while (list($key, $val) = each($HTTP_POST_VARS)) { //burada verileri topluyoruz
    $key=str_replace("_"," ",$key); //degiskenlerdeki _ lari çiktida göstermiyoruz
    $mesaj .= "<tr><td><b>$key</b></td><td> :  $val</td></tr>";
    }
    $mesaj .= "</table>";
    
    $header .= "From: " . $email . "\n";
    $header .= "Content-type: text/html; charset=iso-8859-9\r\n";
    $konu = "Oriflame Uyelik Formu";
    mail($mailadresi, $konu, $mesaj, $header)or die("Mail gönderilemedi.");//burada ise mail gönderiyoruz
    
    echo "<meta http-equiv=\"refresh\" content=\"0;URL=tesekkur.html\">"; 
    
    ?>
    yardimci olacak arkadasa simdiden tesekkurler
  • 25-11-2009, 17:54:25
    #2
    Üyeliği durduruldu
    utf-8 mi calisiyorsunuz
  • 26-11-2009, 11:41:26
    #3
    gdi
    Üyeliği durduruldu
    sdemirkeser adlı üyeden alıntı: mesajı görüntüle
    utf-8 mi calisiyorsunuz

    calisiyorsunuz derken ne kastetiniz hocam ??

    charset olarak iso-8859-9 kullaniyorum. turkce karakteri destekliyor normalde. ama formda desteklemiyor :S


  • 26-11-2009, 18:19:27
    #4
    bütün dosyalarınızı utf-8 yapın hiç başınız ağrımaz
  • 26-11-2009, 18:53:56
    #5
    $array1=array("ç","ı","ğ","ö","ş","ü","Ç","İ","Ğ","Ö","Ş","Ü");
    	$array2=array("&#231-;","&#305-;","&#287-;","&#246-;","&#351-;","&#252-;","&#199-;","&#304-;","&#286-;","&#214-;","&#350-;","&#220-;");
    $sorunsuz_turkce_karakter=str_replace($array1,$array2,$degisken]);
    yukarda yazdığım gibi bir filtre oluştur sonra $array2 değişkeninde array içindeki orta-tireleri çıkar bir sorun kalmaz.$değişken kısmına da kendi değişkenlerini yaz.
    Bir sorun çıkmaması lazım ama eğer çıkarsa burdan sorunun ne olduğunu yaz yardımcı olurum.
  • 26-11-2009, 22:27:26
    #6
    gdi
    Üyeliği durduruldu
    noreplay : ustte verdigim kodu ve sizin verdiginiz kodu bir butun olarak nasil olmasi gerektigini yazarmisiniz burda ?
  • 26-11-2009, 22:44:22
    #7
    Misafir
    Gönderdiğin sayfada charseti göremedim verdiğin kodda
  • 27-11-2009, 19:24:24
    #8
    $array1=array("ç","ı","ğ","ö","ş","ü","Ç","İ","Ğ","Ö","Ş","Ü");
    $array2=array("&#231-;","&#305-;","&#287-;","&#246-;","&#351-;","&#252-;","&#199-;","&#304-;","&#286-;","&#214-;","&#350-;","&#220-;");
    $mailadresi="bilgi@benimsite***.com";//kendi mail adresin
    
    $mesaj = "<table width=500 border=0>"; //tablo olusturuyoruz
    while (list($key, $val) = str_replace($array1,$array2,each($HTTP_POST_VARS))) { //burada verileri topluyoruz
    $key=str_replace("_"," ",$key); //degiskenlerdeki _ lari çiktida göstermiyoruz
    $mesaj .= "<tr><td><b>$key</b></td><td> :  $val</td></tr>";
    }
    $mesaj .= "</table>";
    
    $header .= "From: " . $email . "\n";
    $header .= "Content-type: text/html; charset=iso-8859-9\r\n";
    $konu = "Oriflame Uyelik Formu";
    mail($mailadresi, $konu,$mesaj, $header)or die("Mail gönderilemedi.");//burada ise mail gönderiyoruz
    
    echo "<meta http-equiv=\"refresh\" content=\"0;URL=tesekkur.html\">";
    son hali budur. Sorunsuz halini rar yapıp ekledim. Eğer burdan koplayacaksan $array2 değişkeninde yer alan orta-tireleri çıkarman lazım.
    Kolay gelsin