• 06-08-2012, 15:25:58
    #1
    Merhaba arkadaşlar, verdiğim kodun aynısını türkçe karakterleri çevirmek için yapiyorum ama olmuyor sizde doğrusu nasıl olmalı.

    $kayit_seo = str_replace(' ','-',$kayit_seo); bu çalışıyor.

    $kayit_seo = str_replace('ı','i',$kayit_seo); olarak denediğimde çalışmıyor..
  • 06-08-2012, 18:23:58
    #2
    charset ayarin ne?
    Hangi programi kullaniyosun php kodunu yazarken?
  • 07-08-2012, 06:14:03
    #3
    utf-8 ile çalışıyorsan bir sorun yaşamaman gerekir verdiğin kodla.
  • 09-08-2012, 01:05:56
    #4
    Merhaba dreamweaver cs6 kullanıyorum. uht-8 ayarı yapmadım ben dbye yazarken. yaparsam da herşey için yapmaz mı bunu. ben sadece seo link için istiyorum.
  • 09-08-2012, 01:16:04
    #5
    Sorunun sebebi veritabanı ile php dosyasının charset uyumsuzluğu. Aslında en başından charseti utf-8 olarak belirleseydin problem çıkmazdı. Senin str_replace('ı','i',$kayit_seo); kodundaki sorun koddaki ı ile veritabanındaki ı 'nın 16 lık tabanda farklı ifade edilmesi. Veritabanının ve php kodlarının karakter kodlamasını belirtirsen daha iyi yardımcı olabiliriz aksi halde deneme yanılma yaparak boş yere vakit harcamış oluruz.

    Şunu deneyebilirsin. Notepad++ 'ı indirin ve php dosyasınızı açın. Kodlama bölümünden "UTF-8(Bomsuz) olarak dönüştür"ü seçin ve kaydedin. Dreamweaver genelde Türkçe karakterlerde hata veren karakter kodlamaları default olarak geliyor bu yüzden bol bol sıkıntı çekiliyor Dreamweaver ile geliştirilen uygulamalarda.
  • 09-08-2012, 01:25:51
    #6
    Merhaba, karşılaştırma latin1_swedish_ci olarak var dbde. notepad++ indirdim. ikisininde aynı mı olması gerek.

    dediğiniz gibi değiştrdim ftpye attım fakat fark oluşmadı
  • 09-08-2012, 01:38:27
    #7
    DooMsDay'in fonksiyonu işini görecek gibi ; https://www.r10.net/php/834583-turkce...cii-yapma.html
  • 09-08-2012, 01:45:48
    #8
    function trToEn($kayit_seo) {
        $tr = array('#\x49#', '#\xC5\x9E#', '#\xC5\x9F#', '#\xC4\xB1#', '#\xC4\xB0#', '#\xC4\x9F#', '#\xC4\x9E#', '#\xC3\xBC#', '#\xC3\x9C#', '#\xC3\xB6#', '#\xC3\x96#', '#\xC3\x87#', '#\xC3\xA7#');
        $en = array('i', 'S', 's', 'i', 'I', 'g', 'G', 'u', 'U', 'o', 'O', 'C', 'c');
        return preg_replace($tr, $en, $kayit_seo);
    }
    baştaki ve sondaki str'yi $kayit_seo olarak deiştirdim birlmiyorum doğrumu yapatım ama yine çalıştıramadım değiştirmeden de denedim oda olmadı dostum.