• 04-02-2015, 17:24:24
    #1
    Merhaba bir konuda yardıma ihtiyacım var bilen arkadaşlar yardımcı ola bilirmi. Kullandıgım Php Versiyonu 5.3 sqlden veriyi çekiyor değişkende gösteriyor yanlız türkçe karakterlerde sorunu yaşıyorum kullandığım kod ve aldığım hata aşağıdadır.


    <?php
    $id    = $_GET['id'];
    $query = mysql_query("SELECT * FROM makale WHERE id='$id'");
    $write = mysql_fetch_array($query);
    $adi     = $write['keywords'];?>
    <?php 
    // Keyword Oluşturma Fonksiyonu.s4l1h 
    function keywords($a){ 
    $a=trim(eregi_replace('[^abcçdefgğhiıjklmnöopqrşstuüvwxyzABCÇDEFGĞHIıİJKLMNOÖPQRSŞTUÜVWXYZ0123456789]',' ',$a)); 
    $bul=array("Ş","Ö","Ü","İ","I"); 
    $degis=array("ş","ö","ü","i","i"); 
    $a=strtolower(str_replace($bul,$degis,$a)); 
    $x=1; 
    while($x<=4){ 
    $a=str_replace("  "," ",$a); 
    $x=$x+1; 
    } 
    $a=trim(str_replace(" ",",",$a)); 
    return $a; 
    }  
    ?>
    <meta name="keywords" content="<? echo keywords($adi); ?>">
    Hata
    <meta name="keywords" content="
    Deprecated: Function eregi_replace() is deprecated in C:\vhosts\xxxxxxxxxxxx.com\subdomains\haliyikama\post.php on line 32
    hal�,y�kama,re��za,����e��d,hgbi,afdr��yg">
  • 04-02-2015, 17:30:21
    #2
    C:\vhosts\xxxxxxxxxxxx.com\subdomains\haliyikama\p ost.php on line 32 bu dosya ve satırdaki eregi_replace fonksiyonunu mb_eregi_replace olarakd eğiştirin çözülecektir. Eski fonksiyon yakın zamanda kaldırılacağı için hata alıyorsunuz.
  • 04-02-2015, 17:38:37
    #3
    yanıtınız için teşekkür ederim eregi hatası düzeldi yanlız türkçe karakter sorunu devam ediyor . şuanki durum

    <meta name="keywords" content="hal�,y�kama,re��za,����e��d,hgbi,afdr��yg ">
  • 04-02-2015, 18:16:35
    #4
    eregi_replace yerine preg_replace bence daha iyi olacaktır.

    dosyanızın başına
    header('Content-Type: text/html; charset=utf-8');
    ekleyin
  • 04-02-2015, 18:35:52
    #5
    @deleter20 yanıtın için teşekkür ederim yanlız sorunum çözülmedi zaten html tagı olarak ekli o kod projemde bu arada şimdi $adi değişkenini sql ile değilde el ile değer verdim aşağıdaki şekilde sorun çözüldü ama projedeki gibi sql'den çekilen veri değişkene eklendiğinde bu sorunu alıyorum yardımlarınızı bekliyorum teşekkürler.

    $adi="Bu yazı deneme olarak eklenmiştir";

    bu şekilde oldugunda çalışıyor

    <meta name="keywords" content="bu,yazı,deneme,olarak,eklenmiştir ">
  • 04-02-2015, 21:03:58
    #6
    Yakın zamanda sitenizi taşımışsanız karakter kodlamalarında sorun oluşmuştur, veritabanı karakter setlerini kontrol edin, scriptiniz ile uygun olanı seçin.
  • 04-02-2015, 23:08:39
    #7
    veritabanın latin1 mi o zaman? büyük bir ihtimal karakter seti uyuşmazlığı yaşıyorsun onu kontrol et.

    siteni değilse utf yap veritabanını da aynı şekilde aynı karakter setine getir. herhangi bir problem yaşamazsın
  • 05-02-2015, 10:26:05
    #8
    karşılaştırma "latin1_swedish_ci" olarak kıllanıyordum "utf8_turkish_ci" ye çevirdim ama sonuç aynı zaten descriptionuda aynı veritabanından çekiyorum görüldügü gibi onda bir sorun yok ben kodlamadan oldugunu düşünüyorum tekrar bi kontrol edermisiniz.

    Kodlama :

    <?php
    header('Content-Type: text/html; charset=utf-8');
    $id    = $_GET['id'];
    $query = mysql_query("SELECT * FROM makale WHERE id='$id'");
    $write = mysql_fetch_array($query);
    mysql_query("SET NAMES utf8");
    mysql_query("SET CHARACTER SET utf8");
    $adi     = $write['keywords'];?>
    <?php 
    // Keyword Oluşturma Fonksiyonu.s4l1h 
    function keywords($a){ 
    $a=trim(mb_eregi_replace('[^abcçdefgğhiıjklmnöopqrşstuüvwxyzABCÇDEFGĞHIıİJKLMNOÖPQRSŞTUÜVWXYZ0123456789]',' ',$a)); 
    $bul=array("Ş","Ö","Ü","İ","I"); 
    $degis=array("ş","ö","ü","i","i"); 
    $a=strtolower(str_replace($bul,$degis,$a)); 
    $x=1; 
    while($x<=4){ 
    $a=str_replace("  "," ",$a); 
    $x=$x+1; 
    } 
    $a=trim(str_replace(" ",",",$a)); 
    return $a; 
    }  
    ?>
    <meta name="keywords" content="hal?,ar??za,????z??mleri,hal?,i??in,uygun ,??eyler">
    <meta name="description" content="halı arıza çözümleri, halı için uygun şeyler" />
  • 05-02-2015, 10:29:17
    #9
    phpmyadmin ile girdiğinizde karakterler nasıl görünüyor örnek için bir bölümünü buraya kopyalarmısınız?