başlıklar zaten gönderildi olmuştur çünkü php script başlıklarını gönderebilir, ancak karakterler komut dosyası dışında

3 Cevap php

Bu benim ilk iki satır vardır:

<?php
header('Content-Type: application/x-javascript');

Ve bu bana zaten doğrultusunda 1 gönderilen başlıklarını verir.

Bu i aşağıdaki dosya var Kundakçı gelen JavaScript dosyasını kontrol ederken, bir HTML sayfası yükler bir JavaScript dosyası oluşturmak için tasarlanmıştır:

1  <br />
2  <b>Warning</b>: Cannot modify header information - headers already sent by (output started at C:\Program Files\Apache Group\Apache2\htdocs\totoro\Js\libs.php:1) in <b>C:\Program Files\Apache Group\Apache2\htdocs\totoro\Js\libs.php</b> on line <b>1</b><br />
3  var Totoro = {}, $t = Totoro;

Gördüğünüz gibi, ilk satır header işlev çağrısı, çöp karakterler gibi görünen bir karakter tükürüyor, ama hiçbir şey gönderildi, edilir. Ne sorun olabilir?

3 Cevap

Zımbırtı dedi olmadan muhtemelen BOM (Byte sırası işareti) ile UTF-8 olarak dosyayı kaydettiğiniz, UTF-8 olarak yeniden kaydedin.

Bu karakter dizisi UTF-8 BOM olduğunu. UTF-8 kullanırken, (bazen de imza denir) BOM olmadan dosyalarınızı kaydedin.

Ayrıca kullanmakta olduğunuz kodlama beyan etmelidir. UTF-8 BOM adlandırdığınız karakterler olarak gösterildiği gibi, veri muhtemelen, ISO 8859-1 ile yorumlanır UTF-8 BOM bayt dizisi olarak 0xEFBBBF karakterleri ï (0xEF) temsil eder, {Çünkü ISO 8859-1 'in [(1)]} (0xBB) ve ¿ (0xBF).

Yani Reçetesi çıkarın ve doğru MIME türü application/javascript ve charset parametresi ile birlikte bu Content-Type başlık alanını kullanın:

Content-Type: application/javascript;charset=utf-8

I foudn this on wikipedia: http://en.wikipedia.org/wiki/Byte-order_mark#Representations_of_byte_order_marks_by_encoding

Bu benim Komodo editörü tercihlerini değiştirebilir yapılan bir "Kodlama: imza kullanmak (BOM)" olduğunu kontrol etti. Sorun çözüldü kez denetlenmeyen.