• 12-12-2015, 13:27:13
    #1
    Üyeliği durduruldu
    Kod düzgün bir şekilde çalışıyor, arama yapmak için kullanıyorum fakat türkçe karakter girdiğimde hata veriyor.

     public function User_Search($searchword)
     {
      $q=mysql_real_escape_string($_POST['searchword']);
    
         $query=mysql_query("select username,uid from users where username like '%$q%' or name like '%$q%' order by uid LIMIT 5");
         while($row=mysql_fetch_array($query)) {
         $data[]=$row;
        }
        return $data;
     }
  • 12-12-2015, 14:10:14
    #2
    Karakter kodlamasinda sorun yasiyorsunuzdur.bir de hata aliyorum demissiniz, aldiginiz hatayi paylassaydiniz da keske biz de vahiy gelmesini beklemeseydik.
  • 12-12-2015, 14:29:44
    #3
    Üyeliği durduruldu
    reddoc adlı üyeden alıntı: mesajı görüntüle
    Karakter kodlamasinda sorun yasiyorsunuzdur.bir de hata aliyorum demissiniz, aldiginiz hatayi paylassaydiniz da keske biz de vahiy gelmesini beklemeseydik.
    Pardon hocam
  • 12-12-2015, 14:46:46
    #4
    Merhabalar,

    Burada sorgunuz gerceklesememis gibi gorunuyor veya bos sonuc donmus. Yukaridaki mysql_query satirindan oncesine echo diyerek mysql_query arasinda kalan bolumu yapistirin. Ekraniniza sorgu metninin nasil gittigi gelecektir. Bu metni paylasirsaniz orasi uzerinden hatayi incelemek daha kolay olur. Sorgunuzda sikinti cikiyor gibi gorunuyor, o sikinti da yuksek ihtimalle veritabaniniz ile haberlesirken kullandiginiz karakter setinin turkce karakterleri barindirmiyor olmasindan kaynaklaniyordur. Arayuzde kullandiginiz, mysql tablolarinda ve haberlesmede kullandiginiz karakter kodlamasinin uyumlu olmasina dikkat ediniz.
  • 12-12-2015, 15:41:57
    #5
    Üyeliği durduruldu
    reddoc adlı üyeden alıntı: mesajı görüntüle
    Merhabalar,

    Burada sorgunuz gerceklesememis gibi gorunuyor veya bos sonuc donmus. Yukaridaki mysql_query satirindan oncesine echo diyerek mysql_query arasinda kalan bolumu yapistirin. Ekraniniza sorgu metninin nasil gittigi gelecektir. Bu metni paylasirsaniz orasi uzerinden hatayi incelemek daha kolay olur. Sorgunuzda sikinti cikiyor gibi gorunuyor, o sikinti da yuksek ihtimalle veritabaniniz ile haberlesirken kullandiginiz karakter setinin turkce karakterleri barindirmiyor olmasindan kaynaklaniyordur. Arayuzde kullandiginiz, mysql tablolarinda ve haberlesmede kullandiginiz karakter kodlamasinin uyumlu olmasina dikkat ediniz.
    Hocam bide sadece yorum kısmında yaşadığım bir tr karakter hatası var sadece belirli tr karakterleri ? olarak gösteriyor kodlarda herhangi bir sorun yok bende veritabanından değiştireyim dedim böyle bir hata aldım (ören: ı)

  • 12-12-2015, 16:27:07
    #6
    Veritabanı dil ayarı veya her bir tablo için yapılan dil ayarın utf8_turkish_ci değil mi?

    Örnek görsel :
  • 12-12-2015, 16:35:57
    #7
    AkincanD adlı üyeden alıntı: mesajı görüntüle
    Hocam bide sadece yorum kısmında yaşadığım bir tr karakter hatası var sadece belirli tr karakterleri ? olarak gösteriyor kodlarda herhangi bir sorun yok bende veritabanından değiştireyim dedim böyle bir hata aldım (ören: ı)

    Selamlar,

    Veritabani karalter kodlamaniz ile arayuzunuz uyumsuz, birisi iso-8859-9 digeri utf8 gibi gorunuyor. Bunlari birbiri ile uyumlu hale getirmeniz gerekiyor.
  • 12-12-2015, 20:43:41
    #8
    Üyeliği durduruldu
    Selam hocam hiç bir şey olmuyorsa bile çalıştığı php sayfasının kodlama sistemini note++ ile değiştirebilirsiniz. Aşağıdaki resimi inceleyin

    http://prntscr.com/9ddff6

    Düzenleme modunda açın UTF-8 Bom olmadan dönüştür deyin yada UTF-8 Dönüştür yapın düzelmesi gerek. Veritabanında bir sorun yoksa eğer