• 10-02-2008, 02:11:58
    #1
    bir arama kutusundan alınan sorgudaki türkçe karakterleri latin karakterlere dönüştürmem lazım.

    şöyle ki türkçe yazıyorum TA¼RKAğE olarak aramaya kalkıyor ve sonuç bulamıyor. sonuç aradığı yerde türkçe karakterli herhangi bir şey yok zaten.

    benim yapmak istediğim türkçe yazdığımda turkce olarak araması.

    nasıl yapabilirim?
  • 10-02-2008, 02:54:50
    #2
    Üyeliği durduruldu
    Verileri get ile mi gönderiyorsunuz post ile mi?
    Get ile ise belki browser kaynaklı olabilir ama sanmıyorum
    Post ile yaparsanız sisteme göre değişir yinede sorun kalmamsı lazım.
  • 10-02-2008, 03:00:47
    #3
    mesela $ad değişkeni ile gelen verideki değerleri değiştiriyoruz.
    <?php  
    
    $yazim = eregi_replace(" ","_",$ad);  
    $aranan   = array ('ı', 'İ', 'ç', 'Ç', 'Ü', 'ü', 'Ö', 'ö', 'ş', 'Ş', 'ğ', 'Ğ');  
    $degisme = array ('i', 'I', 'c', 'C', 'U', 'u', 'O', 'o', 's', 'S', 'g', 'G');  
    $turkceyazi  = str_replace($aranan, $degisme, $yazim);  
    
    echo $turkceyazi;  
    
    ?>
  • 10-02-2008, 11:57:36
    #4
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Mesela arama formundan gelen veri $aranan olsun ( site.com/arama.php?aranan=xxx ) gibi bir durumda gelen verinin değeri $aranan olarak algılanır, buna göre bir kod hazırlayalım...

    Bu durumda arama.php nizin başına şu kodu eklemelisiniz...

    <?php
    $aranan=$_GET['aranan'];
    $aranan=str_replace("ÄŸ", "ğ", $aranan); 
    $aranan=str_replace("Ä".chr(158), "Ğ", $aranan); 
    $aranan=str_replace("ı", "ı", $aranan); 
    $aranan=str_replace("İ", "İ", $aranan); 
    $aranan=str_replace("ç", "ç", $aranan); 
    $aranan=str_replace("Ç", "Ç", $aranan); 
    $aranan=str_replace("ü", "ü", $aranan); 
    $aranan=str_replace("Ü", "Ü", $aranan); 
    $aranan=str_replace("ö", "ö", $aranan); 
    $aranan=str_replace("Ö", "Ö", $aranan); 
    $aranan=str_replace("Å".chr(158), "Ş", $aranan); 
    $aranan=str_replace("ÅŸ", "ş", $aranan); 
    echo $aranan;
    ?>
    daha sonra bu $aranan değerine göre veritabanında arama yaptırınız, denedikten sonra aldığınız sonucu buraya yazarsanız sevinirim, eğer olumsuz olursa başka bir yol deneyelim... Ayrıca arama sayfanızın charset'inide kontrol etmeyi unutmayın, UTF8 olmasın...

    Bu yazdığım dil karakter sorunları içindi, eğer Türkçe karakterleri ingilizce karakterlere çevirmek istiyorsanız yine bu koddan yola çıkarak değişiklik yapabilirsiniz...

    str_replace("ı", "ı", $aranan); ilk "" içerisindeki değişecek olan harf, ikinci "" içerisindekide ne ile değiştirileceğidir...
  • 11-02-2008, 01:06:46
    #5
    get ile alıyorum. bu arama kutusu form içinde. benim bu kodları form içine mi gömmem lazım?
    buradaki kodları denedim bir sonuç alamadım da sanırım yanlış yaptığım bir yer var.
  • 11-02-2008, 13:21:23
    #6
    sayfada karakter setin tanımlı değildir yada get ile gönderdiğin sayfada tanımlı değildir

    ** meta ile verilen char-set olayı
  • 17-02-2008, 12:01:37
    #7
    merhaba arkadaşlar ' kesme işaretini nasıl deiştirebiliriz acaba ?
  • 18-02-2008, 02:25:29
    #8
    Üyeliği durduruldu
    diğerlerini yaptığın gibi.. "'", bu şekilde