Zum Inhalt springen

[MySQL/PHP] Ausländische Sonderzeichen in SELECT QUERIES


Empfohlene Beiträge

Hallo zusammen,

ich hab ein kniffliges Problem. Ich habe einen passwortgeschützten Bereich auf einer Homepage. Benutzer müssen sich anmelden um dort zugang zu bekommen. Jetzt gibt es Benutzer (z.B. aus Polen, Russland usw.) die habe Sonderzeichen in den Namen. Wenn ich diese jetzt per Insert in ein Datenbankfeld schreibe, dann kommen die natürlich "verstümmelt" an. Das ist soweit kein Problem, wenn ich die Auslese und mit der richtigen Content-Type Codierung versehe (z.B. meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"), dann sieht das richtig aus.

Mein Problem ist jetzt aber mein Login-Script, Dort mache ich eine Abfrage, ob der Benutzer mit dem Benutzername und Passwort existiert. D.h.

$query = "select * from user where strPassword = '$Password' AND strUserName = '$UserId'";

In $UserId steht aber natürlich der Benutzername so drin, dass z.B. osteuropäische Sonderzeichen drin sind. Wenn ich dann mein Query ausführe bekomme ich kein Ergebniss, obwohl der Benutzer in der Datenbank drin ist!

Weiss einer eine Lösung dafür??

Link zu diesem Kommentar
Auf anderen Seiten teilen

Nimm deren Emailadresse als Benutzername (wie bei Amazon), dann hast du die Probleme nicht. Emailadressen dürfen ja diese Zeichen nicht enthalten.

Beim PW könntest du übrigens das gleiche Problem bekommen. Es sei denn du wandelst es vor dem Eintrag in einen Hash-Wert um und vergleichst das später nur noch.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich bin vielleicht ein bischen spät dran, aber gebe trotzdem noch meinen Senf dazu.

1. Probleme beim Eintragen von String mit Sonderzeichen können mittels einer PHP-Funktion präpariert werden, nennt sich (addslashes()) - damit werden die Sonderzeichen als Escape-Sequenzen codiert.

2. Schon mal auf die Idee gekommen als Encoding UTF-8 zu nehmen?

3. Die anderen Ansätze sind auf jeden Fall eine Alternative!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...