• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Umlaute in IE

Status
Für weitere Antworten geschlossen.

asher

Neues Mitglied
Hallo allerseits,


ich dreh hier bald am Rad :(

ich hatte das Problem, dass ich im IE keine Umlaute ausgeben konnte. Im Mozilla klappt es ohne Probleme.

Ich habe ein Suchfeld wo ein Name eingegeben werden kann. Der Name wird an ein PHP Script gesendet, das in der DB nach dem Namen sucht und dann die Kontaktdaten ausgibt.Wird dort ein Name mit Umlaut eingegeben, bekomme ich kein Ergebnis, wird ein Name ohne Umlaut eingegeben geht es. Gestern hat alles noch funktioniert und jetzt geht es mit Umlauten nicht mehr.

Ich hatte das Problem vorher auch schon, nachdem ich dann mit PSPad alles in UTF-8 gespeichert hatte gings. jetzt gehts wieder nicht und ich hab schon alles versucht aber keinen Fehler gefunden.

Bitte um dringende Hilfe
 
Schreib in den Head-Bereich:

Code:
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
 
hab ich, bringt aber nichts??


HTML:
<html>
 
<head>
 
<script src="daten.js" type="text/javascript"></script>
 
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> 
 
</head>
 
<body>
 
<form name="form"> 
 
<br>
<br>
<input type="text" name="liste" value="" size="50">
 
<br>
<br>
<p>Geben Sie bitte an, was Sie suchen :</p>
 
      <p>
 
      <input type="radio" name="group1" id="r1" value="1" checked />Personen
 
      <input type="radio" name="group1" id="r2" value="2" />Meldungen
      </p>
 
 
<table cellspacing="2" cellpadding="5" id="Tabelle" > </table>
 <div id="Layer2" style="position:absolute; width:400px; height:18px; z-index:2; left: 25; top: 300;"> 
  <div align="center" id="result" class="Feld" value=""></div>
 </div>
 
 <div id="Layer2" style="position:absolute; width:400px; height:18px; z-index:2; left: 25; top: 400;"> 
  <input type="button" name="suchen" value="  suchen   " onclick="load(this.form)">
 </div>
</form>
</body>
</html>

und php:

PHP:
<?php
require("connect.inc.php");
$liste1=$_GET['liste'];
$value=$_GET['suche'];
$data = array();
$data[0] = 0;    
$data[1] = "Zu Ihrer Suche existiert kein Ergebnis!";
$search=array("ä","ü","ö","");
$replace=array("Ä","Ü","Ö","");
$liste = str_replace($search,$replace,$liste1);
 
        if($value == 1){
 
        $query = @mysql_query("SELECT COUNT(*) AS vorhanden FROM benutzer WHERE Vorname='$liste' OR Name='$liste'");
        $user_check = @mysql_fetch_assoc($query);
 
                  if($user_check['vorhanden'] !=0) {
 
                //Benutzerdaten auswählen
                $query1 = @mysql_query("SELECT Vorname, Name, Telefon, Mobilfunk, DienststellenID FROM benutzer WHERE Vorname='$liste' OR Name='$liste'");
 
                  $data[0]=1;
 
                     $i = 2; 
                         while($feld = @mysql_fetch_assoc($query1)) 
                         { 
                            $data[$i]   = $feld['Vorname']; 
                            $data[$i+1] = $feld['Name']; 
                            $data[$i+2]   = $feld['Telefon'];
                            $data[$i+3]   = $feld['Mobilfunk'];
 
                             //Dienststelle auswählen
                             $dienststellenID = $feld['DienststellenID'];
                           $query2 = @mysql_query("SELECT Dienststelle FROM dienststelle WHERE DienststellenID = '$dienststellenID'");
                           $id = @mysql_fetch_assoc($query2);
                             $data[$i+4] = $id['Dienststelle'];
 
                            $i=$i+5; 
                         }
 
                    //Ausgabe
                    echo json_encode($data); 
                  }
 
                      if($user_check['vorhanden'] == 0){   
                             echo json_encode($data);
                         }
         }
 
Moin,

nicht nur in UTF-8 speichern, für den IE ist es wichtig in UTF-8 ohne BOM zu speichern, was viele Editoren nicht können (notepad++ kanns z.B.).

Auch mal nachschauen was der Antwort-Header des Webservers für einen Zeichensatz zurückgibt (FF, Webdeveloper-Toolbar, Informationen, Antwort-Header anzeigen). Wenn da kein Zeichensatz steht ist es kein Problem, aber manche Webserver geben noch ISO-8859-1 zurück.

Du kannst dir auch eine .htaccess erstellen und folgendes reinschreiben:
Code:
AddDefaultCharSet utf-8
AddCharSet utf-8 .html .php .css

Die lädst du in das Verzeichnis hoch, wo deine HTML/CSS-Dateien stehen.

Wenn dein PHP-Script diesbezüglich den Fehler enthält kann ich dir leider nicht helfen.

koslowski
 
Code:
$liste1="ülügü ist kein Döner";

$search=array("ä","ü","ö","");
$replace=array("Ä","Ü","Ö","");
$liste = str_replace($search,$replace,$liste1);

echo $liste;
gibt "ÜlÜgÜ ist kein DÖner" aus.

Das ist doch sicher keine Absicht.
Was stand denn da vorher?

Wenn, wie oben beschrieben (+ Datenbank), alles auf UTF-8 eingestellt ist brauchst du vielleicht gar kein Zeichen ersetzen.
 
Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.
Zurück
Oben