Umlaute werden in Input Text Feld falsch angezeigt

chris4712

Erfahrenes Mitglied
Hallo!

Leider geht es mal wieder um das Problem: AJAX und Umlaute.
Sorry, aber irgendwie bin ich trotz durchlesen verschiedenster Seiten noch nicht schlauer.

Meine Datenbank steht auf "utf8_general_ci". In PHP setze ich via header("content-type: text/html; charset=utf-8"); alles auf UTF 8 und trotzdem habe ich ein Problem das Umlaute, die in ein Input Text geschrieben werden sollen falsch bzw garnicht angezeigt werden.

Folgende PHP Datei wird via AJAX aufgerufen:
PHP:
<?PHP
  // Einbinden der Config Datei
  require("../include/config.inc.php");

  // Überprüfen ob User angemeldet ist und diese Seite Aufrufen darf
  check_login();

  // Übernimmt den Code
  if (isset($_GET["Code"]) AND $_GET["Code"] != "")
    $code = $_GET["Code"];
  else if (isset($_POST["Code"]) AND $_POST["Code"] != "")
    $code = $_POST["Code"];
  else
    die();

  if ($Info= mysql_fetch_assoc(mysql_query("SELECT name FROM DB WHERE code = '".mysql_real_escape_string($code)."'")))
    echo $Info["name"];
?>

Hier klappt alles auch noch so wie es soll. Also wenn ich die Datei direkt aufrufe und einen Code übergebe bekomme ich die Umlaute richtig angezeigt.

Der Aufruf per AJAX sieht so aus:
Code:
function FindDuplicate(Code)
{
  request.open("POST", "functions/FindDuplicate.php", false);
  request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
  request.send("Code=" + encodeURIComponent(Code));

  // Wenn das Script fertig ist
  if (request.responseText != "")
  {
    document.Insert.name.value = request.responseText;
    document.getElementById("NameInfo").innerHTML = request.responseText;
  }
}

Ich bekomme nichts angezeigt. Erst wenn ich in der PHP Datei aus der Zeile echo $Info["name"]; ein echo htmlentities($Cache["name"]); mache kommt was zurück!

Und dann bekomme ich im Edit Feld die Umlaute als HTML Code angezeigt :(

Was mache ich falsch, bzw. warum werden nicht einfach die Umlaute (ohne Umwandlung durch htmlentities) angezeigt?

Grüße!
 
Hat sich grade erledigt!
Habe nun header("content-type: text/html; charset=iso-8859-1"); stat header("content-type: text/html; charset=utf-8"); im PHP Header stehen (DB nicht verändert) und auf einmal geht es....
 

Neue Beiträge

Zurück