• 24-02-2010, 13:19:28
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    <?php
    $connection = mysql_connect(localhost,"USERNAME","PASSWORD") or die("Service temporairly unavailable");
    $db = mysql_select_db("DB_NAME",$connection) or die("Service temporairly unavailable");
    $sql = "select * from phpbb3_topics WHERE forum_id IN (2, 3, 5) order by topic_last_post_time desc limit 0,10";
    $result = mysql_query($sql) or die("Service temporairly unavailable");
    for($x=1;$x<=10;$x++){
    	$row = mysql_fetch_array($result);
    	echo "<a href = \"http://www.sitename.com/viewtopic.php?f=$row[forum_id]&t=$row[topic_id]\" target = \"_blank\">$row[topic_title]</a><br>";
    }
    ?>
    veritabanına bağlanarak son başlıkları çeken kodu blogda sidebara ekledim. Ancak başlıklar Altyazılar neden kötü > "Altyaz?lar neden k�t�" şeklinde görünüyor.

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> kodunu index'e eklesemde pek fayda etmedi. Veritabanı, forum ve blog hepsi utf-8 kullanıyor.

    Ayrıca Notepad++ ile düzenledim onu önermeyin.
  • 24-02-2010, 13:26:18
    #2
    Notepad++ aç üsteki menüden " Biçim / Dönüştür (UTF-8 without BOM) a tıkla kaydedip bu şekil dene.
  • 24-02-2010, 13:31:42
    #3
    Üzgünüm fayda etmedi. Şöyle birşey buldum, olur mu acaba!?

    $mesaj = $_POST['mesaj'];
    
    $tr = array('Ç', 'ç', 'Ğ', 'ğ', 'ı', 'İ', 'Ö', 'ö', 'Ş', 'ş', 'Ü', 'ü');
    
    $kod = array('& Ccedil;', '& ccedil;', '& #286;', '& #287;', '& #305;', '& #304;', '& Ouml;', '& ouml;', '& #350;', '& #351;', '& Uuml;', '& uuml;');
    
    $veri = str_replace($tr, $kod, $mesaj);
    böylece forumdan gelen $mesaj değişkeni Türkçe karakterlerinin yerini kodlara bırakarak $veri değişkenine dönüşüyor.
  • 25-02-2010, 12:23:39
    #4
    Sorun güncel.
  • 26-02-2010, 06:25:25
    #5
    Konunun phpBB ile alakası yok, direk php+mysql sorusu. Bu hangi betik ise onun SQL kurallarına göre sorgu yapılması daha iyi olabilir.

    Asıl sorgudan önce "SET CHARACTER SET utf8" şeklinde bir sorgu daha bastım. Ben tüm dosyayı sıfırdan yazdım.

    <?php
    
    mysql_connect("localhost", "root", "") or die("Could not connect: " . mysql_error());
    mysql_select_db("phpbb306_test");
    mysql_query("SET CHARACTER SET utf8"); //  ALEXIS: çözüm
    
    $result = mysql_query("SELECT * FROM phpbb_topics WHERE forum_id IN (2) ORDER BY topic_last_post_time DESC LIMIT 0,10") or die("Query failed with error: ".mysql_error());
    
    while ($row = mysql_fetch_array($result))
    {
        echo $row['topic_title'].'<br />';  
    }
    
    mysql_free_result($result);
    
    ?>
  • 26-02-2010, 18:23:14
    #6
    Evet phpbb başlığıyla alakası olmadığını biliyorum. Kodu kullananların olacağını ve çabuk cevap alabileceğimi gözeterekten bu başlığa açtım. Doğru söylüyorsunuz yeri burası değil. TEŞEKKÜRLER
  • 17-05-2010, 20:48:18
    #7
    Merhaba Alexis, tekrar rahatsız edeceğim bu konu hakkında. Başlığı hortlattığım için ayrıca özür dilerim herkesten.

    Şimdi bu kodu blogda sidebara yerleştirdim ancak; forumda yeni mesajlar atılmasına rağmen blogdaki başlıklar güncellenmiyor. Çözemedim bir türlü.

    TEŞEKKÜRLER