• 01-04-2009, 03:11:17
    #1
    iletisim.htm isimli ad soyad..vs bilgilerin geldiği bir sayfam var. Aşağıdaki php dosyası ile mail olarak gönderiyorum bilgileri fakat hem gönderilen yazılardaki türkçe karekterler hemde php kodun işerisindeki türkçe karekterlerde
    örneğin:
    Adı (ı harfi sorunlu gidiyor)
    İl (büyük i "İ" sorunlu gidiyor)

    https://www.r10.net/php/342530-php-il...er-sorunu.html
    https://www.r10.net/php/287225-mail-v...er-sorunu.html
    Bu sayfalar ve benzerlerine baktım.

    headers kullandım

    Ders III: Flash MX & PHP Mail Form - Zoque
    bu sayfada gösterildiği gibi
    $eski = array("ı", "ç", "ğ","ü","ş","ö","İ","Ğ","Ü","Ş","Ö","Ç"," ","\r"); 
    $yeni = array("ı", "ç", "ğ","ü","ş","ö","İ","Ğ","Ü","Ş","Ö","Ç"," ","<br>");
    $NameFrom= str_replace($eski, $yeni, $NameFrom);
    .....
    array ile düzeltmeyi denedim.

    iletisim.htm de farklı karekter setler denedim iso-8859-9 UTF-8 windows-1254
    sadece gelen ileti değil php kod içerisindeki gönderilen yazılardaki türkçe karketerlerdede (Adı İl gibi) aynı sorunu yaşadığımdan php dosyasınada uyguladım bunları ama yapamadım.

    kullandığım php kod şu şekilde
    <?php
    $firma=$_REQUEST['firma'];
    $ad=$_REQUEST['ad'];
    $soyad=$_REQUEST['soyad'];
    $mail=$_REQUEST['mail'];
    $tel=$_REQUEST['tel'];
    $fax=$_REQUEST['fax'];
    $adres=$_REQUEST['adres'];
    $il=$_REQUEST['il'];
    $ulke=$_REQUEST['ulke'];
    $mesaj=$_REQUEST['mesaj'];
    $mailim=$_REQUEST['mailim'];
    if ( empty($ad) || empty($soyad) || empty($mail) || empty($mesaj) ) {
        echo "Form alanını eksik doldurdunuz. Lütfen gerekli alanları doldurun.";
    } else {
    $kime=$mailim;
    $konu="Form alanindan gelen mesaj";
    $mesaj="Firma  : $firma\nAdı    : $ad\nSoyadı : $soyad\nE-Mail : $mail\nTelefon: $tel\nFax    : $fax\nAdres  : $adres\nİl     : $il\nÜlke   : $ulke\nMesaj  : $mesaj\n";
    $ek="From: İletişim Formu<xxx@xxxxx.com>";
    if(mail($kime, $konu, $mesaj, $ek)){
    	echo "Teşekkür mesajınız alındı.";
    } else {
    	echo "Bir sorun çikti. Su an size hizmet sunamiyoruz.";
      }
    }
    ?>
    bir yol gösterebilir yada bu kodu düzenleyebilirmisiniz.
  • 01-04-2009, 09:15:55
    #2
    Üyeliği durduruldu
    hem php sayfan hem header bilgin hem html hem maildeki kodlaman sayfan utf-8 olursa sorun yaşamazsın

    bkz utf-8
  • 02-04-2009, 07:30:00
    #3
    Dediklerinizi yaptım
    iletisim.htm de (ki burda değiştirdiğim zaman sayfadaki karekterin gürünümüde bozuldu)
    php kodunda ve
    headers ekleyip ondada
    utf-8 kullandım ama yine olmadı.

    hotmail ile gönderdiğim iletiler son derece normal from konu mesajdaki türkçe karekterler aynen çıkıyor.
  • 02-04-2009, 08:55:23
    #4
    sayfalarında charset utf-8 yap. sayfalarda mevcut yazıların bozulduğunu görürsen o yazıların hepsini elden geçirip düzeltmen gerekebilir. bunu yaptıktan sonra iletişim kısmında ise mail formundan gelen verileri aşağıdaki gibi kullandığında Türkçe karakterler için strreplace ile falan uğraşmana gerek olmadığını görüceksin.
    sen sen ol charset utf-8'den vaz geçme yoksa ilerde benim gibi başın çok ağrır

    $firma=$_REQUEST['firma'];
    $ad=$_REQUEST['ad'];
    $soyad=$_REQUEST['soyad'];
    $mail=$_REQUEST['mail'];
    $tel=$_REQUEST['tel'];
    $fax=$_REQUEST['fax'];
    $adres=$_REQUEST['adres'];
    $il=$_REQUEST['il'];
    $ulke=$_REQUEST['ulke'];
    $mesaj=$_REQUEST['mesaj'];
    $mailim=$_REQUEST['mailim'];
    
    $kime=$mailim;
    $konu="Form alanindan gelen mesaj";
    
    $header = "From: $to\r\nReply-To: $to\r\n";
    $header .= "MIME-Version:1.0\nContent-Type:text/html;charset=utf-8\r\n"; 
    $mesajim = "<p><strong>Form alanı zart zurt</p>";
    $mesajim .= "<p><strong>Firma: </strong>".$firma." </p>";
    $mesajim .= "<p><strong>Ad: </strong>".$ad."</p>";
    $mesajim .= "<p><strong>Soyad: </strong>".$soyad."</p>";
    $mesajim .= "<p><strong>Email: </strong>".$mail."</p>";
    $mesajim .= "<p><strong>Telefon: </strong>".$tel."</p>";
    $mesajim .= "<p><strong>Faks: </strong>".$fax."</p>";
    $mesajim .= "<p><strong>Adres: </strong>".$adres."</p>";
    $mesajim .= "<p><strong>İl: </strong>".$il."</p>";
    $mesajim .= "<p><strong>Ülke: </strong>".$ulke."</p>";
    $mesajim .= "<p><strong>Mesaj: </strong>".$mesaj."</p>";
    
    mail ($kime, $konu, $mesajim, $header);
  • 03-04-2009, 11:37:58
    #5
    tşk.. Haplo
    önce çalışmadı sonra bazı düzenlemeler yaptım çalıştı ama yinede türkçe karekter sorununu gideremedim.

    arkadaşlar olayı baside indirerek sade ve başka kodlarla denedim. gönderilen mesaj html şeklinde olduğunda sorun yok içerikte ama subject ve gönderen kısmında hala tr karekterlerde sorun var. Oysa hotmailden denediğimde ne gönderen nede konuda türkçe karekter hiç bozulmadan son derece normal görünüyor.
    Kısaca maili açmadan görünen; gönderen ve konu kısmındaki türkçe karekter sorunu nasıl giderilir bu konuda bir kaç soru var ama çözüm için hiç kaynak bulamadım.
    örnek kod:
    <?
    $mailadresi="xxx@xxx.com"; // kime gideceği yazılıyor
    $header .= "From: xxxx@xxx.com\n"; // kimden gideceği yazılıyor
    $header .= "Content-type: text/html; charset=iso-8859-9\r\n"; // Bu satır HTML formatında gitmesini sağlıyor
    $konu = "Mesajın konusu Türkçe Karakter: ŞİŞİpğğişmöçmiüiilk";
    $message="<table border=1><tr><td>Tablo ve de Türkçe Karakter: ŞİŞİpğğişmöçmiüiilk</td></tr></table>";
    $d = mail($mailadresi, $konu, $message, $header);
    if(!$d){
    echo "mail gönderilemedi";
    }else{ 
    echo "mail gönderildi";
    }
    ?>
    bu koddaki iso-8859-9 mesaj içeriğini düzenlediğinden UTF-8 ile denediğimde sadece gelen mailin içeriği değişiyor..
    konu (subject) ve kimden geldiği (From) mesela oraya isim soyad değişkeni eklediğimizde içerdiği tr karekterler için bu karekter belirleme işini nasıl yapabiliriz..?
  • 07-04-2009, 18:22:39
    #6
    Arkadaşlar tamam mail içeriği html tag ile düzgün görünüyor ama mail i açmadan görünen konu ve gönderen kısımalrındaki türkçe karekterlerin normal görükmesi için bir yol yokmu?
    Hotmail den gelen maillerde böyle bir sorun yok..

    <?
    $mailadresi="xxx@xxx.com"; // kime gideceği yazılıyor
    $header .= "From: xxxx@xxx.com\n"; // kimden gideceği yazılıyor
    $header .= "Content-type: text/html; charset=iso-8859-9\r\n"; // Bu satır HTML formatında gitmesini sağlıyor
    $konu = "Mesajın konusu Türkçe Karakter: ŞİŞİpğğişmöçmiüiilk";
    $message="<table border=1><tr><td>Tablo ve de Türkçe Karakter: ŞİŞİpğğişmöçmiüiilk</td></tr></table>";
    $d = mail($mailadresi, $konu, $message, $header);
    if(!$d){
    echo "mail gönderilemedi";
    }else{ 
    echo "mail gönderildi";
    }
    ?>
    bu koda sade ve basit içerik tamam türkçe normal görünüyor fakat konu gönderen kısımları maili açmadan bakıldığında türkçe karekterler düzgün görütülenmiyor..