Hallo, Gast! (Registrieren)

Wir wünschen allen Besuchern frohe Ostern!

Letzte Ankündigung: MyBB 1.8.37 veröffentlicht (04.11.23)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
PHP - Problem mit Funktion
#1
Schönen Tag liebe User!

Ich arbeite derzeit an einer Funktion um News-Titel URL-gerecht umzuschreiben, wobei die Funktion auch perfekt funktioniert, ich in der Ausführung wohl was falsch mache.

Beispiel:

PHP-Code:
$testa 'Ä Ü ß'
$test encode_url($testa); 
echo 
strtolower($test); 

Macht daraus (so wie von mir gewollt): "ae-ue-ss".

Trage ich aber aus einer MySQL-Abfrage (mit fetch_assoc) eine Variable dort ein, funktioniert es nicht mehr.

PHP-Code:
$SEO_URL encode_url($News['Titel']);
$SEO_Link strtolower($SEO_URL); 

Dort wird dann nur "ä ü ß" ausgegeben, d.h. meine Funktion scheint da nicht zu greifen.

Mein Verdacht ist, dass es an dem "Datentyp" (ist es das richtige Wort hierfür?) von $News['Titel'] liegt. Die Funktion klappt nämlich einwandfrei, wenn ich selber eine Variable (d.h. nicht aus der Datenbank) definiere oder direkt im Klartext per Anführungsstriche ' .... ' einen Inhalt angebe.

Wisst ihr vielleicht wie ich das Problem lösen kann, damit auch der Inhalt aus der Datenbank richtig umgeschrieben wird?

Vielen Dank schonmal & schönen Abend noch!
Zitieren
#2
Ich würde da eher auf ein Zeichensatzproblem tippen...
Zitieren
#3
Ich habe charset=iso-8859-1 ... wäre UTF-8 Code besser?

Der MySQL-Zeichensatz ist zwar UTF-8 Unicode (utf8) (halt standardmäßig vom Provider), stelle ich meine Website aber auch dahingehend um, dann erscheinen bei allen Umlauten bzw. Sonderzeichen so Rauten mit Fragezeichen darin, d.h. als ob er die Zeichen gar nicht kennen würde. (Wobei mich das auch wunderte, schließlich heißt es ja, dass utf-8 am meisten beinhaltet.)

Danke aber schonmal für deine sehr schnelle Antwort!

// EDIT: Mit Trial and Error und viel "googlen" habe ich utf8_encode gefunden, womit es nun endlich funktioniert! Danke also für deinen Tipp, der zur Problemlösung beigetragen hat! Ehrlich gesagt verstehe ich aber immer noch nicht, was nun das "logische Problem" dieser Sache ist. Könntest du mir da vielleicht was dazu sagen, denn darauf wäre ich nicht gekommen. Ich ziehe schließlich auch alles andere aus der Datenbank und da hatte ich noch nie Probleme mit den Umlauten bzw. dem Zeichensatz allgemein.
Zitieren