2009-03-12 5 views
0

Ich habe eine a.js Datei in Windows-1251 Zeichensatz geschrieben.
Jetzt habe ich ein b.php Skript, dassjquery Codierungsprobleme

header('Content-Type: text/html; charset=windows-1251'); 

in ihm hat. Es enthält auch die a.js irgendwo in der Vorlage.
Also lade ich b.php in c.php (auch so gehorcht) mit jQuery.load. Was ich bekomme ist ??? anstelle von normalen Wörtern an der Stelle, an der der Inhalt von der js-Datei erzeugt wird. Was ist falsch?

Antwort

0
<meta http-equiv="content-type" content="text/html; charset=windows-1251" /> 

oben auf der Seite betrifft dies die Seite, die Sie in normaler Weise laden.

+0

Mit anderen Worten, wenn Sie ein Meta-Tag "Inhaltstyp" haben das HTML produziert wird, kann es die Content-Type-Header überschreiben, die PHP sendet. Wenn dies der Fall ist, entfernen Sie entweder das Meta-Tag oder ändern Sie es so, dass es dem Header entspricht. –

+0

@Ben: der HTTP-Header hat Vorrang vor dem Meta-Tag; Die Einstellung im Meta-Tag wird nur angewendet, wenn der Server keine Codierung sendet – Christoph

1

Die Anweisung header() gilt nur für die PHP-Ausgabe. Wenn Ihr Browser die .js-Datei abruft, behandelt sie diese möglicherweise anders.

Können Sie diese .js-Datei bearbeiten und mit anderen häufig verwendeten Kodierungen (wie utf-8 oder iso-8859-1) speichern? Es gibt viele freie Editoren, die in verschiedenen Kodierungen laden/speichern können. Das könnte helfen.