• 08-03-2013, 21:02:41
    #1
    Merhabalar kullandığım editör Tinymce.

    Makalelerimi tinymce ile ekliyorum. Veritabanında türkçe karakterleri ascii kodları olarak ekliyor.

    Mesela ü harfini ü olarak kaydetmiş. Buna engel olamadım.
    RSS oluşturduğum sayfa :

    <?php
    require("sistem/sistem.php");
    $sql = mysql_query("SELECT * FROM security ORDER BY id DESC LIMIT 1");
    $yz = mysql_fetch_array($sql);
    $mail = $yz["mail"];
    header("Content-type: text/xml\n\n");
    
    echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
    <rss version=\"2.0\">
    <channel>
    <title>".SITE_TITLE."</title>
    <link>".URL."/</link>
    <description>".SITE_TITLE." RSS Beslemesi</description>
    <language>tr-tr</language>
    <webMaster>".$mail."</webMaster>";
    
    $rssSql = mysql_query("SELECT * FROM posts ORDER BY date DESC LIMIT 20");
    while($rss = mysql_fetch_assoc($rssSql)) {
    $kat 	= $rss["category_ust"];
    $katbul = mysql_query("SELECT * FROM category WHERE kategori_id='$kat'");
    $katyaz = mysql_fetch_array($katbul);
    $link	= URL."/".$katyaz["sef"]."/".$rss["id"]."-".$rss["sef"].".html";
    echo "
    <item>
    <title>".$rss["post_baslik"]."</title>
    <link>".$link."</link>
    <pubDate>".$rss["tarih"]."</pubDate>
    <description>".stripslashes(kisalt($rss["post_icerik"],150))."</description>
    <category>".$katyaz["kategori_adi"]."</category>
    </item>
    ";
    }
    
    echo "
    </channel>
    </rss>";
    ?>
    www.example.com/rss dediğim zaman bana bu hatayı veriyor.


    This page contains the following errors:
    error on line 21 at column 21: Entity 'uuml' not defined
    Below is a rendering of the page up to the first error.

    Neden olabilir ? Bu türkçe karakter hatasını nasıl düzeltebilirim RSS'te..
  • 08-03-2013, 23:29:53
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    htmlspecialchars_decode ve html_entity_decode fonksiyonları araştırın. karakterleri bunlar ile dönüştürebilirsiniz.
  • 09-03-2013, 08:24:27
    #3
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Dosyanızı notepad ile açın ve farklı kaydedin. kaydederken karakter setinin utf-8 olduğuna emin olun.

    Sonra notepad++ ile açıp, kodlama kısmından utf8 bomsuz seçeneğini seçin.

    Son olarak include dan önce

    header('Content-Type: text/html; charset=utf-8');
    kodunu ekleyin.
  • 09-03-2013, 15:14:07
    #4
    erginkeles adlı üyeden alıntı: mesajı görüntüle
    Dosyanızı notepad ile açın ve farklı kaydedin. kaydederken karakter setinin utf-8 olduğuna emin olun.

    Sonra notepad++ ile açıp, kodlama kısmından utf8 bomsuz seçeneğini seçin.

    Son olarak include dan önce

    header('Content-Type: text/html; charset=utf-8');
    kodunu ekleyin.
    UTF-8 kodlamasıyla sıkıntım yok benim. Veritabanında da böyle kayıtlı olduğu makaleler. xml de öyle bir hata alıyorum.
    _BuKi_ adlı üyeden alıntı: mesajı görüntüle
    htmlspecialchars_decode ve html_entity_decode fonksiyonları araştırın. karakterleri bunlar ile dönüştürebilirsiniz.
    yararı olmadı hocam. SORUN DEVAM EDİYOR ?
  • 09-03-2013, 15:16:06
    #5
    nasıl kullandığınız hocam? belirttiğim fonksiyonların parametleri var. kullandığınız şekli söylerseniz, yardımcı olmaya çalışayım.
  • 09-03-2013, 15:23:25
    #6
    _BuKi_ adlı üyeden alıntı: mesajı görüntüle
    nasıl kullandığınız hocam? belirttiğim fonksiyonların parametleri var. kullandığınız şekli söylerseniz, yardımcı olmaya çalışayım.
    Teşekkür ederim hocam şimdi çözdüm.

    Kullandığım

    <?php 
    html_entity_decode(kisalt($rss["post_icerik"],150), ENT_QUOTES, "UTF-8")
    ?>
  • 09-03-2013, 15:29:27
    #7
    kisalt(html_entity_decode(htmlspecialchars_decode( $rss["post_icerik"],,ENT_QUOTES), ENT_QUOTES, "UTF-8"),150)

    olarak deneyin hocam bir de. hala hata alıyorsanız, farklı bir sebebten olabilir. bu sadece karakterleri dönüştürmek için olan bir fonksiyon. belki hata başka bir şeyden kaynaklı olabilir.
  • 09-03-2013, 16:24:09
    #8
    Sorunu hallettim hocam sağolun.