UTF-8 Umlaute im Internet Explorer

hanshopfen

Grünschnabel
Hallo,

Ich möchte auf meiner Homepage Google Maps einbauen. Das ist soweit auch schon fertig. Nur werden im Internet Explorer die Umlaute nicht dargestellt.
Das heißt, dass die ganze Sidebar verschwindet!
Im Firefox ist jedoch alles richtig!

Jetzt, nach sehr langem probieren, fand ich halbwegs nun den Fehler. Irgendwie wird im Internet Explorer nicht richtig in ISO-8859-1 codiert. Wenn ich als Zeichensatz UTF-8 verwende, und dann das ä in ä umschreibe, werden die Umlaute korrekt angezeigt. Ich will aber jetzt nicht immer alle Umlaute so umschreiben. Zusätzlich weiß ich diese Zeichen garnicht.

Hier ist noch der Link zum Html Code: http://www.schweizerhof-waidring.at/googlemaps/neu/example_map11a.htm

Und hier der PHP(XML) Code:
PHP:
<?php

  // === First set the MIME type to XML ===
  header("Content-type: text/xml; charset=UTF-8;");

 


  // === Always output the <markers> tag, even if passed a bad request ==
  echo '<markers>';
         
  // === Output different markers depending on the "?q" parameter
  switch ($_REQUEST["q"]) {
    case a: 
      echo '<marker lat="43.65654" lng="-79.90138" html="Somestuff to display in the&lt;br&gt;First Info Window"  label="ä Test" />';
      echo '<marker lat="43.91892" lng="-78.89231" html="Some stuff to display in the&lt;br&gt;Second Info Window" label="Marker Two" />';
      echo '<marker lat="43.82589" lng="-79.10040" html="Some stuff to display in the&lt;br&gt;Third Info Window"  label="Marker Three" />';
    break;
    case b:
      echo  '<marker lat="43.6" lng="-79.4" html="This is location B1"  label="Location B1" />';
      echo  '<marker lat="43.7" lng="-79.2" html="This is location B2"  label="Location B2" />';
      echo  '<marker lat="43.8" lng="-79.0" html="This is location B3"  label="Location B3" />';
    break;
    case c:
      echo  '<marker lat="43.6" lng="-79.2" html="This is location C1"  label="Location C1" />';
      echo  '<marker lat="43.8" lng="-79.2" html="This is location C2"  label="Location C2" />';
      echo  '<marker lat="44.0" lng="-79.2" html="This is location C3"  label="Location C3" />';
      echo  '<marker lat="43.6" lng="-79.8" html="This is location C4"  label="Location C4" />';
      echo  '<marker lat="43.8" lng="-79.8" html="This is location C5"  label="Location C5" />';
      echo  '<marker lat="44.0" lng="-79.8" html="This is location C6"  label="Location C6" />';
    break;
  }

  // === Always output the </markers> tag, even if passed a bad request ==
  echo '</markers>';

?>
 
Zuletzt bearbeitet:
Wenn die Datei an sich UTF-8 kodiert ist, der richtige Zeichensatz per [phpf]header[/phpf] ausgeliefert ist und eventuelle Datenbankverbindungen in UTF-8 sind, dann sollte es da keine Probleme geben. Und die Unicode Lösung sollte auf jeden Fall vorgezogen werden.

Ansonsten müsstest du suchen, wo die Daten im falschen Zeichensatz sind und diese umformen.
[phpf]mb_convert_encoding[/phpf] kann das.
 
Hallo,

Danke erstmal für deine Antwort!

Leider konnte ich keine falsche Kodierung feststellen. In der HTML Datei und in der PHP Datei ist jetzt alles auf UTF-8!

Jetzt wird aber auch im Firefox keine Sidebar dargestellt, außer, wenn ich das ä in ä ändere!
Und mit mb_convert_encoding() kann ich leider garnichts anfangen!

Und wenn es garnicht anders geht, muss ich eben die Umlaute mit ä usw. ersetzten. Sollte dies der Fall sein: Wie sind die Umschreibungen für ü, ö und ß? Und wie ist das mit der Großschreibung?

Danke im voraus!
 
Die Dateien in denen der PHP Code drin steht. Mit einem vernünftigen Editor, wie Notepad++, solltest du auf UTF-8 ohne BOM umschalten.

Und wenn du dich entschieden hast, alles auf UTF-8 umzustellen, dann sollte dir der Befehl [phpf]utf8_encode[/phpf] weiterhelfen, bzw. sein Counterpart [phpf]utf8_decode[/phpf].
 
Hallo,

Ich habe jetzt mit Notepad ++ alles auf UTF-8 umgeschaltet, es passierte aber nichts!
Mit welchen Variablen sollte ich utf8_encode() bzw. utf8_decode() anwenden?

Bei mir wird zum Schluss nur echo '</markers>'; ausgegeben.

Bitte helft mir!
 
Hallo,

Ich habe meinen Fehler jetzt gefunden!

Bis jetzt wusste ich nicht, dass das Zeichen & in xml in &amp; dargestellt werden muss.
Das funktioniert auch mit anderen Zeichencodierungen und im Internet Explorer.

Trotzdem Danke für eure Hilfe!
 
Zurück