arkadiuszpaluszek
Mitglied
Hallo alle miteinander, stellt euch folgende Problemstellung vor:
In der Datenbank ist der Name einer Person gespeichert: Anneliese Höhn. PHP fügt diesen Namen im Text rechts neben dem "CLICK HIER" Button vollkommen korrekt mit einem "ö" ein. Wenn der Buton CLICK HIER geklicht wird, soll JS in die oberen Inputfelder ebenso Texte mit Umlauten einfügen - links den per AJAX aus der Datenbank gelesenen Namen und rechts das im Skript vorgegebene Wort "Höhe".
Das im Skript vorgegebene Wort "Höhe" wird ebenso korrekt eingefügt, nicht aber AnnelieseHöhn! Und "nutze immer UTF 8" scheint diesmal nicht die Lösung zu sein oder aber der Server, auf dem meine Webanwendung läuft, mag UTF 8 nicht. Denn die Datenbanktabelle hat als Zeichensatz "utf-8 bin" definiert. Wenn ich in den Metatag charset="utf-8" reinschreibe würde das "ö" im Text neben dem Button auch nur gegen das gleiche Fragezeichen in einer schwarzen Raute ausgetauscht werden wie im Bild oben im ersten Inputfeld, ist nicht die Lösung. Und im Inputfeld steht es dann auch falsch.
Hier das erste Skript:
sowie die Seite, die die Daten aus der DB holt:
Ich muss es schaffen, auch per AJAX Namen von Personen korrekt mit Umlauten in meine Seite einzufügen. Nun frage ich mich, ob das Problem für mich überhaupt lösbar ist, oder ob ich den Anbieter des Webspace kontaktieren muss, weil es womöglich an für mich nicht konfigurierbaren Servereinstellungen liegt?...
Bin sehr gespannt auf eure Rückmeldungen!

In der Datenbank ist der Name einer Person gespeichert: Anneliese Höhn. PHP fügt diesen Namen im Text rechts neben dem "CLICK HIER" Button vollkommen korrekt mit einem "ö" ein. Wenn der Buton CLICK HIER geklicht wird, soll JS in die oberen Inputfelder ebenso Texte mit Umlauten einfügen - links den per AJAX aus der Datenbank gelesenen Namen und rechts das im Skript vorgegebene Wort "Höhe".
Das im Skript vorgegebene Wort "Höhe" wird ebenso korrekt eingefügt, nicht aber AnnelieseHöhn! Und "nutze immer UTF 8" scheint diesmal nicht die Lösung zu sein oder aber der Server, auf dem meine Webanwendung läuft, mag UTF 8 nicht. Denn die Datenbanktabelle hat als Zeichensatz "utf-8 bin" definiert. Wenn ich in den Metatag charset="utf-8" reinschreibe würde das "ö" im Text neben dem Button auch nur gegen das gleiche Fragezeichen in einer schwarzen Raute ausgetauscht werden wie im Bild oben im ersten Inputfeld, ist nicht die Lösung. Und im Inputfeld steht es dann auch falsch.
Hier das erste Skript:
Code:
<html>
<head>
</head>
<script src="../tools_v7.js"></script>
<body>
<input id="test_input1"> <input id="test_input2"><p>
<input type="button" id="testbutton" value="CLICK HIER" onclick="text_einfuegen()">
<?php
include "../FUNCTIONS.php";
$mysqli = MyDatabase();
$abfrage = "SELECT * FROM `z_testtabelle`";
if($result = $mysqli->query($abfrage)) {
while($row = $result->fetch_object()) {
$text = $row->text;
}
}
echo 'TEST: In die Inputfelder soll per AJAX der Text '.$text.' eingefügt werden.';
?>
</body>
</html>
<script>
function text_einfuegen() {
// AJAX Teil
resOb = erzXHRObjekt();
resOb.open('get', "umlaute_AJAX.php", false);
resOb.onreadystatechange = text_ausgeben;
resOb.send(null);
}
function text_ausgeben() {
myArray = new Array;
myText = resOb.responseText;
myArray = myText.split("*");
var text_db = myArray[0];
var text_script = myArray[1];
document.getElementById("test_input1").value = text_db;
document.getElementById("test_input2").value = text_script;
}
</script>
sowie die Seite, die die Daten aus der DB holt:
Code:
<?php
include "../FUNCTIONS.php";
$mysqli = MyDatabase();
$abfrage = "SELECT * FROM `z_testtabelle`";
if($result = $mysqli->query($abfrage)) {
while($row = $result->fetch_object()) {
$text = $row->text;
}
}
echo $text."*Höhe";
?>
Ich muss es schaffen, auch per AJAX Namen von Personen korrekt mit Umlauten in meine Seite einzufügen. Nun frage ich mich, ob das Problem für mich überhaupt lösbar ist, oder ob ich den Anbieter des Webspace kontaktieren muss, weil es womöglich an für mich nicht konfigurierbaren Servereinstellungen liegt?...
Bin sehr gespannt auf eure Rückmeldungen!