Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

Php txt.belgesi kaydederken UTF-8 Widhout BOM olarak kaydetmem gerekiyor ?

Daha önceden karşılaştığım bu sorunu ozamanda çözememiştim :) farklı bir şekilde geçici çözmüştüm sorunumu artık yeterli gelmiyor kalıcı bir çözüm lazım.?
tam bir uzmansorusu :)

durum şu : php ile bir text dosyasını okuyorum üzerinde işlemler yapıyorum sonra farklı bir isimde UTF-8 withour BOM olarak kaydetmem gerekiyor.
işlemleri yaptığım PHP dosyası UTF-8widhout BOM
Okuduğum text dosyasıda UTF-8 Widhout BOM
PHP Headerı da UTF-8 olarak gönderiyorum

İnternette bazı çözümler denedim en yakın çözüm UTF-8 olarak kaydediyor oda işimi görmüyor.
Yani özetle PHP ile txt dosyası oluşturup Notepad++ ile açtığımda biçim olarak UTF-8 Widhout ;BOM Olarak görmek istiyorum
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Doğru Cevap

  • tapsin adlı üyenin fotoğrafı
    10 yıl önce yazılmış
    147 cevap - 0 soru
    $tmp = chr(255).chr(254).mb_convert_encoding( $tmp, 'UTF-16LE', 'UTF-8');
    $write = fwrite( $filepath, $tmp );

    işini görecektir.
    • freefox adlı üyenin fotoğrafı freefox
      maalesef dostum bunun sonucunda oluşan txt dosyası
      UCS-2 Little Indian
      Kodlaması olarak çıkıyor
      10 yıl önce yazılmış
    • tapsin adlı üyenin fotoğrafı tapsin
      Şu şekilde çözdüğünü söyleyenler var.


      function writeUTF8File($filename,$content) {
      $dhandle=fopen($filename,"w");
      # Now UTF-8 - Add byte order mark
      fwrite($dhandle, pack("CCC",0xef,0xbb,0xbf));
      fwrite($dhandle,$content);
      fclose($dhandle);
      }
      10 yıl önce yazılmış
    • tapsin adlı üyenin fotoğrafı tapsin
      Buda okutmak için fonksiyon

      function fopen_utf8 ($filename, $mode) {
      $file = @fopen($filename, $mode);
      $bom = fread($file, 3);
      if ($bom != b"\xEF\xBB\xBF")
      rewind($file, 0);
      else
      echo "bom found!\n";
      return $file;
      }
      10 yıl önce yazılmış

Cevaplar

  • freefox adlı üyenin fotoğrafı
    10 yıl önce yazılmış
    37 cevap - 21 soru
    EVREKA!!!
    Olaya farklı bir şekilde yaklaşarak sorunu çözdüm.
    şimdi txt belgesini normal bir şekilde yazdırıyorum
    o dosyaya erişmek için önceden header() ile yönlendirme yapıyordum.
    şuanda erişilecek dosyanın içeriğini PHP ile okuyup işlem yaptığım zaman hiçbir sorun çıkmıyor :)
    .htaccess dosyasındanda bütün txt isteklerini bir php dosyasına yönlendirdim.
    sorun ortadan kalmadı ama en azından kalıcı bir çözüm ürettim
    • tapsin adlı üyenin fotoğrafı tapsin
      Server htaccess destekleyip sorunsuz derlediği sürece evet :)
      10 yıl önce yazılmış
    • freefox adlı üyenin fotoğrafı freefox
      doğru binokta ama artık.htaccess desteklemeyen sunucu kaldımı ?
      birde zaten kendi serverımızda çalışacak yani dağıtım amaçlı bir sistem değil.
      en azından bu iş için kalıcı bir çözüm oldu diyelim anlaşalım burda :)
      10 yıl önce yazılmış
    • tapsin adlı üyenin fotoğrafı tapsin
      Peki öyle diyorsan :)
      10 yıl önce yazılmış