• 07-07-2018, 00:22:01
    #1
    Selamlar bir spor salonu için proje geliştiriyorum, müşterim her gün gelenleri sisteme not etmek istedi, tüm sistem hazır olmasına rağmen veriler eklenirken türkçe karakter sıkıntısı yaşıyorum
    Çıktısı:
    $tarih = date("Y.m.d");
    $dosya_adi = "girisler/$tarih.txt";
    
    $deger = $_POST["giris-yapan"];
    
    $yazilacak_deger = "$deger - $saat Tarihinde Giriş Yaptın";
    
    if ($deger) {  
    
    if (!file_exists($dosya_adi)){  
       
    touch($dosya_adi);
    chmod($dosya_adi,0666);
       
    }
    
    $dosyaya_baglanti = fopen($dosya_adi,"a+");
    
    if (!fwrite($dosyaya_baglanti,$yazilacak_deger)){
    echo "";
    exit;
    
    }  
    
    echo "Listeye Eklendi >> <a href='girisler/$tarih.txt'>$tarih</a>";
    
    } else {
    
    echo "";
    
    }
    Yazdırırken ne eklemem lazım ?
  • 07-07-2018, 00:50:55
    #2
    Åžunu dener misiniz;

    if (!fwrite($dosyaya_baglanti,"xEFxBBxBF" . $yazilacak_deger)){
    Edit: Editörden kaynaklı bir sıkıntı var sanırım x'lerin önüne ters slash getirin.
  • 07-07-2018, 22:59:19
    #3
    BatuhaNN adlı üyeden alıntı: mesajı görüntüle
    Åžunu dener misiniz;

    if (!fwrite($dosyaya_baglanti,"xEFxBBxBF" . $yazilacak_deger)){
    Edit: Editörden kaynaklı bir sıkıntı var sanırım x'lerin önüne ters slash getirin.
    malesef hocam düzelme olmadı
  • 07-07-2018, 23:48:24
    #4
    function TRkarakterSorunsuz($dosya,$veri) {
            $a=fopen($dosya,"a");
            fwrite($a, pack("CCC",0xef,0xbb,0xbf));
            if(fwrite($a,$veri)){
                fwrite($a,"rn");
                return true;
            }else{
                return false;
            }
            fclose($a);
    }
    $tarih = date("Y_m_d");
    $dosya_adi = "girisler/".$tarih.".txt";
    if (isset($_POST["girisyapan"])) {
        $yazilacak_deger = $_POST["girisyapan"] . " - ".date("Y-m-d H:i")." Tarihinde Giriş Yaptın";
        if(TRkarakterSorunsuz($dosya_adi,$yazilacak_deger)){
            echo "Listeye Eklendi >> <a href='girisler/$tarih.txt'>$tarih</a>";
            die();
        }else{
            echo "Veri eklenemedi.";
        }
    }
    POST değerlerinde bazı değişiklikler yaptım $_POST["giris-yapan"] yerine $_POST["girisyapan"] olarak değiştirdim. Değişiklikleri uyarlarsanız sorunsuzca çalışacaktır.



    edit: R10'nun rich text editörü kodlarda değişiklik yapıyor sanırım. Orijinal hali: https://paste.ofcode.org/WbpHn3e4D8qx5aeGCCHJf5
  • 08-07-2018, 02:03:42
    #5
    BND
    Üyeliği durduruldu
    Sayfa tepesine şunu ekleyin düzelir:

    header('Content-Type: text/html; charset=utf-8');
  • 08-07-2018, 04:36:46
    #6
    BND adlı üyeden alıntı: mesajı görüntüle
    Sayfa tepesine şunu ekleyin düzelir:

    header('Content-Type: text/html; charset=utf-8');
    Sorun txt dosyasının bomsuz olarak açılması ve yazılmasından kaynaklı yazdığım fonksiyonla çözebilir sorunu.
  • 08-07-2018, 05:16:51
    #7
    BND
    Üyeliği durduruldu
    StyleWaR adlı üyeden alıntı: mesajı görüntüle
    Sorun txt dosyasının bomsuz olarak açılması ve yazılmasından kaynaklı yazdığım fonksiyonla çözebilir sorunu.
    touch edilmiş native bir txt dosyası bom kodlamaya sahip olabiliyor mu?
  • 08-07-2018, 05:37:06
    #8
    BND adlı üyeden alıntı: mesajı görüntüle
    touch edilmiş native bir txt dosyası bom kodlamaya sahip olabiliyor mu?
    touch ile denedim bende Türkçe karakter hatasıyla karşılaşmıştım txt oluştururken bomlu oluşturunca düzeldi