• 28-02-2013, 00:04:17
    #1
    Merhaba,

    Çok enterasan bir sorun yaşıyorum. Localde ve başka sunucularda bu sorun yok ancak kullandığım sunucuda (centos, plesk, PHP 4,3) bu sorun var.

    Şöyleki tüm kodlamalarım utf-8. Txt dosyadaki verileri okutup değişkenlere atıyorum ve yazdırıyorum. Ancak sadece Türkçe karakterler ile başlayan değikenlerde ilk harf kayboluyor.

    <?
    $dosya="referans/deneme.txt";
    $bak=@fopen($dosya,"r");
    while(!feof($bak)):
    $satirlar=fgetcsv($bak,1024,";");

    if ($satirlar[0]<>"" or $satirlar[1]<>"")
    {
    if ($alt=="renkli")
    {
    print "<tr><td>$satirlar[0]</td><td>$satirlar[1]</td><td>$satirlar[2]</td><tr>"; $alt="renksiz";
    }
    else {print "<tr class=\"alt\"><td>$satirlar[0]</td><td>$satirlar[1]</td><td>$satirlar[2]</td></tr>";$alt="renkli";}
    }
    else {}
    endwhile;
    fclose($bak);
    ?>

    ayni veriyi sayfaya include kullanarak alinca hiçbir sorun yok !

    sunucunun httpd.conf ve php.ini ayarlarına yapmadığım müdehale kalmadı. İnternette çözümü çok aradım. Bırakın çözümü ! bu sorunu yaşayan bile bulamadım.

    Herhangibir fikriniz var mı ?

    Teşekkürler.
  • 28-02-2013, 00:22:47
    #2
    include ettiğinizde çalışıyor , okuduğunuzda sorun çıkartıyorsa ilk akılma gemenTxt dosyasının kodlaması utf-8 olmadığı geldi. Txt dosyasıda utf-8 mi ?
  • 28-02-2013, 00:25:58
    #3
    Evet hem de BOMsuz
  • 28-02-2013, 15:38:18
    #4
    sorununuzun tam olarak cevabı burda açıklama kısımlarını okursanız göreceksiniz

    http://www.php.net/manual/tr/function.fgetcsv.php
  • 02-03-2013, 17:36:04
    #5
    Merhaba,

    Çok teşekkür ederim. Sanıyorum sorun orada bahsedildiği gibi yerel ayarlara dayanıyor. Başka sunucularda aynı kod sorunsuz çalıştığı için sorunun sunucu tarafında çözülmesi gerektiğini düşünüyorum. Geniş bir zamanda konuyu tam inceleyip sorunu kökünden çözeceğim.

    Bu arada sağ kulağı soldan tutarak şimdilik aştım. <td>leri php kod yerine txt dosyalara alinca problem ortadan kalktı. Zira bu şekilde olunca okutulan satır asla Türkçe karakter ile başlamıyor