dorni
Goto Top

Probleme mit Umlauten in einem SQL String

Bei zusammenbau aus POST Variablen problem
Bei Händisch reinschreiben Funktion

Hallo habe folgendes Problem ich will ein Update in einer Datenbank vornehmen soweit kein Thema. Es klappt auch solange ich im Tabellennamen keinen Umlaut habe.

Code:
$sql = "UPDATE `" . $_POST[tabelle] . "` SET `" . $_POST[feld] . "` = " . $wert . " WHERE `name` = '" . $_POST[name] . "' LIMIT 1;";  

echo $sql;

mysql_query($sql);
$num = mysql_affected_rows();
		if ($num>0)
			echo "<p>Es wurde 1 Datensatz hinzugef&uuml;gt</p>";  
		else
		{
			echo "<p>Es ist ein Fehler aufgetreten, ";  
			echo "es wurde kein Datensatz hinzugef&uuml;gt</p>";  
		}

Anzeige bei Tabelle mit Umlaut:
UPDATE `elite` SET `Ätherwunder` = 1 WHERE `name` = 'Test Ritualist' LIMIT 1;  

Es ist ein Fehler aufgetreten, es wurde kein Datensatz hinzugefügt

Wenn ich jetzt händisch hergehe und den angezeigten UPDATE-Befehl der Variablen $sql zuweise also so:
$sql = "UPDATE `elite` SET `Ätherwunder` = 1 WHERE `name` = 'Test Ritualist' LIMIT 1;";  

echo $sql;

mysql_query($sql);
$num = mysql_affected_rows();
		if ($num>0)
			echo "<p>Es wurde 1 Datensatz hinzugef&uuml;gt</p>";  
		else
		{
			echo "<p>Es ist ein Fehler aufgetreten, ";  
			echo "es wurde kein Datensatz hinzugef&uuml;gt</p>";  
		}

werde ich mit einer Erfolgsmeldung belohnt:
UPDATE `elite` SET `?therwunder` = 1 WHERE `name` = 'Test Ritualist' LIMIT 1;  

Es wurde 1 Datensatz hinzugefügt

Ich weis es liegt am Umlaut. Ich weis nur nicht wie ich das lösen kann. Grübel und Google schon das ganze Wochenende darüber. Vielleicht hat ja jemand von euch das Problem schon gehabt und weis eine Lösung.

Content-ID: 61014

Url: https://administrator.de/contentid/61014

Ausgedruckt am: 21.11.2024 um 22:11 Uhr

7ImeI7
7ImeI7 11.06.2007 um 10:24:25 Uhr
Goto Top
Fuer Dein Problem gibt es mehhrere Loesungen.
Eines davon ist es die Texte ins HTML Format zu bringen (URL-Encode).
Anderes die Scripte als auch die DB-Connection ins UTF-8.
usw
DORNI
DORNI 11.06.2007 um 11:40:53 Uhr
Goto Top
Danke das mit dem URL-Encode hat mich weitergebracht