Şimdi Ara

PHP Türkçe Karakter sorunu

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
17
Cevap
0
Favori
3.316
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Üstadlar Lütfen Yardımcı olun kafayı yiyecem :( hazır wp tema aldım sadece İletişim formunda Türkçe karakter problemi yaşıyorum. site üzerinden gelen mailde Türkçe karakterler problemli çıkıyor. contact form 7 eklentisinde herhangi bir problem çıkmıyor. fakat temaya entegre edemedim.ben temanın iletişim formunu kullanmak istiyorum.
    fazla kod bilgim yok ama internetten bulduğum tüm işlemleri uyguladım olmadı :(

    şuana kadar yaptığım işlemlerden bahsedeyim.:
    *utf8 kodlaması yaptım olmadı..
    *charset=ut8 yazdım olmadı.
    *tüm tema dosyalarının kodlamasını utf8 bomsuz olarak kaydettim olmadı
    *belki hostingten kaynaklanıyordur diye temayı baska hostlarda denedim olmadı.


    Yardımcı olursanız çok sevinirim.

    php mailer kodlarını yazdım nerde yanlış yapıyorum ?

    <?php 

    define('WP_USE_THEMES', false);
    require('../../../../../wp-load.php');

    $to = get_bloginfo('admin_email') ;

    $name = $_POST['firstname'];
    $lastname = $_POST['lastname'];
    $phone = $_POST['phone'];
    $email = $_POST['email'];
    $comments = $_POST['comments'];

    $subject = 'Contact Form';
    $message = "";
    $message .= 'Name: '.clean_string($name).'<br/>';
    $message .= 'Last name: '.clean_string($lastname).'<br/>';
    $message .= 'Telephone: '.clean_string($phone).'<br/>';
    $message .= 'Email: '.clean_string($email).'<br/>';
    $message .= 'Comments: '.clean_string($comments).'<br/>';


    $headers = "From: " . strip_tags( $email ) . "\r\n";
    $headers .= "Reply-To: ". strip_tags( $email ) . "\r\n";
    $headers .= "MIME-Version: 1.0\r\n";
    $headers .= "Content-type: text/html; charset=utf-8\r\n";

    if( wp_mail( $to, $subject, $message, $headers ) ) {
    // the message was sent...
    echo 'The test message was sent. Check your email inbox.';
    } else {
    // the message was not sent...
    echo 'The message was not sent!';
    };

    function clean_string($string) {
    $string = trim($string);
    if (mysql_real_escape_string($string)) {
    $string = mysql_real_escape_string($string);
    }

    if (get_magic_quotes_gpc()) {
    $string = stripslashes($string);
    }

    return htmlentities($string);
    }


    ?>







  • PHP hakkında pek bilgim yok, farklı bir tarayıcıdan denemek geldi ilk olarak aklıma. Belki sizin tarayıcınızda bir sorun olabilir.
  • Crome ve explorer da denedim. Telefonda bile demedim hep ayni

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • m_g66 M kullanıcısına yanıt
    Şu kısımlarda hata görüyorum

    $headers .= "MIME-Version: 1.0\r\n";
    $headers .= "Content-type: text/html; charset=utf-8\r\n";


    Doğru Olacak Yapı

    $header = 'MIME-Version: 1.0' . "\r\n";
    $header .= 'Content-type: text/html; charset=utf-8' . "\r\n";

    Kolay Gelsin
  • quote:

    Orijinalden alıntı: aksoydesign

    Şu kısımlarda hata görüyorum

    $headers .= "MIME-Version: 1.0\r\n";
    $headers .= "Content-type: text/html; charset=utf-8\r\n";


    Doğru Olacak Yapı

    $header = 'MIME-Version: 1.0' . "\r\n";
    $header .= 'Content-type: text/html; charset=utf-8' . "\r\n";

    Kolay Gelsin

    ilgilendiğiniz içim çok teşekkür ederim. dediğiniz gibi değişiklik yaptım fakat değişen bişey olmadı.
  • veritabanı bağlantılarının yapıldığı bir php dosyası varsa, şu kodları eklemeyi dene istersen

     
    mysql_query("SET NAMES utf8");
    mysql_query("SET CHARACTER SET utf8");
    mysql_query("SET COLLATION_CONNECTION='utf8_general_ci'");
  • quote:

    Orijinalden alıntı: cllyldrm

    veritabanı bağlantılarının yapıldığı bir php dosyası varsa, şu kodları eklemeyi dene istersen

     
    mysql_query("SET NAMES utf8");
    mysql_query("SET CHARACTER SET utf8");
    mysql_query("SET COLLATION_CONNECTION='utf8_general_ci'");


    bu kodları nereye yada hangi dosyaya ekleyeceğimi bilmiyorum ama ben mysql dilini ut8_genral_ci yaptıktan sonra database olusturdum

    @cllyldrm@aksoydesign
  • m_g66 M kullanıcısına yanıt
    Bu arkadaşın verdiği kodu veritabanı bağlantı dosyasına ekleyeceksin ancak wp olduğu için bunun bir önemi yok.

    temanın header dosyasının utf8 bomsuz olup olmadığını kontrol et.
    Sonrasında header de bulunan charset 'i
    <meta charset="UTF-8" />

    Sonra php mail kodlarındaki yanlış yeri düzelt

    $header = 'MIME-Version: 1.0' . "\r\n";
    $header .= 'Content-type: text/html; charset=utf-8' . "\r\n";

    Eğer yine olmazsa bana kullandığın temanın adını ver. bir inceleyeyim. ayrıca bu php mail sistemi eskide kaldı :) sunucunun mail() fonksiyonu kapalıysa işleme almaz alsa bile sıkıntı çıkartabilir.



    wordpress smtp eklentisini kur. gerekl,i smtp bilgilerini yaz. bu eklenti yeni bir form açmaz var olan formdaki eski kodlayaı phpmailler e çevirir.
  • quote:

    Orijinalden alıntı: aksoydesign

    Bu arkadaşın verdiği kodu veritabanı bağlantı dosyasına ekleyeceksin ancak wp olduğu için bunun bir önemi yok.

    temanın header dosyasının utf8 bomsuz olup olmadığını kontrol et.
    Sonrasında header de bulunan charset 'i
    <meta charset="UTF-8" />

    Sonra php mail kodlarındaki yanlış yeri düzelt

    $header = 'MIME-Version: 1.0' . "\r\n";
    $header .= 'Content-type: text/html; charset=utf-8' . "\r\n";

    Eğer yine olmazsa bana kullandığın temanın adını ver. bir inceleyeyim. ayrıca bu php mail sistemi eskide kaldı :) sunucunun mail() fonksiyonu kapalıysa işleme almaz alsa bile sıkıntı çıkartabilir.



    wordpress smtp eklentisini kur. gerekl,i smtp bilgilerini yaz. bu eklenti yeni bir form açmaz var olan formdaki eski kodlayaı phpmailler e çevirir.



    Ahmet bey,
    söylenen tüm işlemleri yaptım değişen bişey olmadı. BenTEMANIN ADRESİ vereyim gerekirse temayıda gönderebilirim@aksoydesign




  • m_g66 M kullanıcısına yanıt
    Temada herhangi bir sıkıntı yok. dosyalar ile oynadığın için sorun olmuş olabilir temayı baştan kur.

    Ayrıca dediğim gibi Easy SMTP Mail eklentisini de kur. ve smtp ayarlarınıda yap. Buna benzer bir temada ben kullanıyorum. ilansoftware[dot]com
  • quote:

    Orijinalden alıntı: aksoydesign

    Temada herhangi bir sıkıntı yok. dosyalar ile oynadığın için sorun olmuş olabilir temayı baştan kur.

    Ayrıca dediğim gibi Easy SMTP Mail eklentisini de kur. ve smtp ayarlarınıda yap. Buna benzer bir temada ben kullanıyorum. ilansoftware[dot]com



    Ahmet bey smtp eklentisiyle deniyorum. olmadı hatta veritabanından kaynaklanabilir diye diğer hostingime wp kurup temayı orada da denedim sonuç aynı. sitede Türkçe karakter sorunu yok sadece site üzerinden bana gelen maillerde Türkçe karakter sorunu var. gelen mailin resmi ekte@aksoydesign




  • m_g66 M kullanıcısına yanıt
    pm olarak teamwiever bilgilerini atarsan bir kontrol edeyim. bu şekilde sonuca ulaşamayacaz
  • m_g66 M kullanıcısına yanıt
    Sorun çözüldü herhalde :)


     PHP Türkçe Karakter sorunu

    Ayrıca eposta ayarlarını da düzelt ben test için değiştirmiştim.

    Ayarlar > Webriti Smtp Mail Kısmından da ayarları yap



    < Bu mesaj bu kişi tarafından değiştirildi aksoydesign -- 26 Mayıs 2014; 17:14:13 >
  • quote:

    Orijinalden alıntı: aksoydesign

    Sorun çözüldü herhalde :)


     PHP Türkçe Karakter sorunu

    Ayrıca eposta ayarlarını da düzelt ben test için değiştirmiştim.

    Ayarlar > Webriti Smtp Mail Kısmından da ayarları yap

    Çook teşekkür ederim Ahmet bey, vallahi kafayı yemek üzereydim . size zahmet olmazsa bişey soracam ? ben tam olarak nerde yanlış yapıyormuşum ? belki benim gibi Türkçe karakter sorunu yaşayıp kafayı yiyenler olur




  • m_g66 M kullanıcısına yanıt
    Sorun Charset ya da sayfa kodlama yapısından kaynaklanmıyordu.

    Bunu şu şekilde anladım :

    tr karakter değişkeni yazdım ve gelen değerleri bu fonksiyonla kontrol ettirdim. Sonuç olarak değişen birşey olmadı. Bu demek oluyor ki fonksiyonun içinde başka bir fonksiyon çalışıyor ve bunu engelliyor ya da karakter kodlamasını değiştiriyor

    clean_string($commend) şeklinde bir yapı vardı.

    function clean_string($string) {
    $string = trim($string);
    if (mysql_real_escape_string($string)) {
    $string = mysql_real_escape_string($string);
    }

    if (get_magic_quotes_gpc()) {
    $string = stripslashes($string);
    }

    return htmlentities($string);
    }


    Aslında kontrol fonksiyonu. temiz bir dizin yaratmak için kullanılmış. ancak eksik olan şey tr karaktere göre düzenlenmemiş. Bu yüzden dolayı gönderilen tr karakterli veriler php dilinde yorumlanıp ekrana basılıyordu.

    $message .= 'Mesajınız: '.clean_string($comments).'<br/>';

    Yapısını kaldırıp

    $message .= 'Mesajınız: '.$comments.'<br/>'; Olarak aldım yani
    clean_string () fonksiyonunu devre dışı bıraktım.

    Sonuç bundan ibaret :)




  • Ahmet bey,
    Çok teşekkür ediyorum erinmeden banane demeden uğraştınız sorunu çözdünüz. Sizi çok uğraştırdım Hakkınızı helal edin. inanın ben sittin sene uğraşsam bu sorunu çözemezdim. eminim bu anlatım benim gibi websitesinde Türkçe karakter hatası yaşayan bir çok kişiye çözüm olacaktır. Emeğinize sağlık üstad...

    @aksoydesign
  • quote:

    Orijinalden alıntı: m_g66

    Ahmet bey,
    Çok teşekkür ediyorum erinmeden banane demeden uğraştınız sorunu çözdünüz. Sizi çok uğraştırdım Hakkınızı helal edin. inanın ben sittin sene uğraşsam bu sorunu çözemezdim. eminim bu anlatım benim gibi websitesinde Türkçe karakter hatası yaşayan bir çok kişiye çözüm olacaktır. Emeğinize sağlık üstad...

    @aksoydesign

    Ben de yardım istiyorum :( aynı sorunu bir türlü çözemedim..
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.