PHP Umlaute in URL und GET Variablen

2TAKTER

Lt. Junior Grade
Registriert
Okt. 2005
Beiträge
399
Hallo zusammen,

beim Aufruf einer neuen Seite übergebe ich diverse Variablen.
Darunter auch Städte, die Namen wie Würzburg, Würselen, Görlitz, Scheßlitz etc haben können.
In meinem Formular werden die Umlaute dieser Städte ohne Probleme angezeigt. In der URL steht auch ganz klar der Umlaut drin. Gebe ich aber die variable in html/php aus erscheint Würzburg z.b. so:
Würzburg

Was kann ich tun? utf8_encode half nix. htmlentities hat auch nicht geklappt.

Danke und Gruß
 
Code, bitte und welches Charset benutzt du?
 
Ich möchte den code eigentlich nicht wirklich ausgeben. Das php script verbindet sich lediglich zu einer mysql DB

PHP:
<?php

	require_once('_func.php');
	
	$start_city = $_REQUEST['city_start_stadt'];
	$start_time = $_REQUEST['date_start_year']."-".$_REQUEST['date_start_month']."-".$_REQUEST['date_start_day']." ".$_REQUEST['date_start_hour'].":".$_REQUEST['date_start_minute'];
	$desti_city = html_entity_decode($_REQUEST['city_destination_stadt']);
	
	$DB = db_connect();

	printf('select * from dwm_Routes where start_city="'.$start_city.'" and goal_city="'.$desti_city.'" and start_datetime>=TIMESTAMP("'.$start_time.'");');

	db_close($DB);

?>

wie man sieht lasse ich den query erstmal ausgeben statt umzusetzen.
Charset der aufrufenden Seite ist utf-8.
 
Mal probiert, vor dem ersten Output header('Content-Type: text/html; charset=utf-8'); auszuführen? Die Seite kann als UTF-8 enkodiert sein, das bringt dir aber nichts, wenn der Client nicht weiß, dass es UTF-8 ist. Wenn du der Datenbank UTF-8-Daten schicken möchtest, solltest du übrigens auch einmal den Query SET NAMES 'utf8' ausführen. Weiterhin solltest du nicht vom Client stammende Werte einfach in SQL-Queries einfügen, Stichwort SQL-Injection.
 
Zurück
Oben