if() mit umlaute
anno2007
- php
0 Der Martin0 anno20070 Der Martin0 anno20070 Rato Micefarmer0 rob
0 dedlfix
Hallo,
ich will eine if()-Abfrage mit umlaute erstellen.
Bisher hatte ich das so:
[php]
if ($a == "löschen") {
make_erase($b);
}
[/php]
Jetzt habe ich alle umlaute convertiert in &...;:
[php]
if ($a == "löschen") {
make_erase($b);
}
[/php]
Dies geht aber nicht. Es kommen keine Fehler oder so, sondern er sagt $a sei nicht "löschen".
Warum? Wie kann ich das lösen?
Gruß
anno2007
Hi,
Bisher hatte ich das so:
if ($a == "löschen") {
und warum hast du das geändert?
Jetzt habe ich alle umlaute convertiert in &...;:
if ($a == "löschen") {
Das ist natürlich Käse. In PHP haben HTML-Entities nichts verloren.
Es kommen keine Fehler oder so, sondern er sagt $a sei nicht "löschen".
Das wird wohl stimmen. Äh, wer ist "er"?
Warum? Wie kann ich das lösen?
Warum hast du dir überhaupt dieses Problem gebaut?
Schönes Wochenende noch,
Martin
Hallo Martin,
Äh, wer ist "er"?
Das Script.
Warum hast du dir überhaupt dieses Problem gebaut?
Da ich jetzt MySQL-5 habe und da nichts mehr mit ä,ü,ö richtig angezeigt bzw. verarbeitet wird. Das kann man zwar teilweise umstellen auf latin..., aber der export der DB geht nicht mehr richtig in diesem Format.
Ich will, dass das Script irgendwie das versteht (ö). Nur wie?
Gruß
anno2007
Hallo,
Warum hast du dir überhaupt dieses Problem gebaut?
Da ich jetzt MySQL-5 habe und da nichts mehr mit ä,ü,ö richtig angezeigt bzw. verarbeitet wird.
dann vermute ich, dass die Default-Codierung der Datenbank von ISO-8859-x auf UTF-8 umgestellt wurde. Das kannst du wahrscheinlich auch wieder zurückstellen.
Das kann man zwar teilweise umstellen auf latin..., aber der export der DB geht nicht mehr richtig in diesem Format.
Die andere Alternative wäre, auch deine PHP-Scripte gleich in UTF-8 zu speichern. Dann kannst du auch wieder nach Herzenslust Umlaute und andere Sonderzeichen im Klartext schreiben.
Ich will, dass das Script irgendwie das versteht (ö). Nur wie?
Gar nicht. Du bringst verschiedene Kontexte durcheinander. Die Entity-Referenzen werden von HTML (also im Browser) aufgelöst, aber PHP wird auf dem Server ausgeführt, lange bevor die Entity-Referenzen interpretiert werden.
So long,
Martin
Hallo Martin,
Die andere Alternative wäre, auch deine PHP-Scripte gleich in UTF-8 zu speichern. Dann kannst du auch wieder nach Herzenslust Umlaute und andere Sonderzeichen im Klartext schreiben.
Wie kann ich das script im UTF-8-Format speichern?
Gruß
anno2007
Wie kann ich das script im UTF-8-Format speichern?
Mit welchem Editor arbeitest du denn?
Falls du mit dem einfachen Texteditor von Windows arbeitest, kannst du die Codierung beim "Speichern unter" angeben.
mfg
Rato
Hallo Rato,
Mit welchem Editor arbeitest du denn?
Falls du mit dem einfachen Texteditor von Windows arbeitest, kannst du die Codierung beim "Speichern unter" angeben.
Habe bisher noch eventl. wichtiges nicht geschrieben: Meine PHP-Scripte sind in einer MySQL-DB.
Gruß
anno2007
Hallo,
noch was vergessen: suche also einen Befehl zum Codieren in UTF-8.
Gruß
anno2007
Hi!
Habe bisher noch eventl. wichtiges nicht geschrieben: Meine PHP-Scripte sind in einer MySQL-DB.
Und in welcher Codierung liegen sie vor?
BTW: Womit holst du die Scripte aus der DB, so daß sie von PHP ausgeführt werden?
Schöner Gruß,
rob
Hallo ,
Und in welcher Codierung liegen sie vor?
latin1_german_ci
BTW: Womit holst du die Scripte aus der DB, so daß sie von PHP
Habe eine index.php dort wird:
mittels mysql_query("SELECT.........")
und dann mittels eval() der Code ausgeführt/ausgegeben.
Gruß
anno2007
Hi!
Habe eine index.php dort wird:
mittels mysql_query("SELECT.........")
und dann mittels eval() der Code ausgeführt/ausgegeben.
Ach du Schande... ;-)
Warum machst du das?
Läßt sich das nicht irgendwie vermeiden?
Wieso hast du deine Scripte alle in der Datenbank?
Um Rasmus Lerdorf zu zitieren:
„Wenn eval() die Antwort ist, dann hast Du die falsche Frage gestellt.“
Du solltest wirklich nur dann mit eval() arbeiten, wenn es absolut nicht anders möglich ist.
Und wenn es nicht anders möglich ist, dann hast du meist ein ziemliches schräges Konzept entworfen, daß du unbedingt überdenken solltest.
Schöner Gruß,
rob
Hi,
zu meinem username: sitze grad an einem ubuntu rechner mit Text-Browser ohne .htaccess unterstützung (für login bei meinem original username erforderlich). Bitte zu dem PC keine komentare, bin nämlich grad am basteln.
Ach du Schande... ;-)
Warum machst du das?
Läßt sich das nicht irgendwie vermeiden?
Wieso hast du deine Scripte alle in der Datenbank?Um Rasmus Lerdorf zu zitieren:
„Wenn eval() die Antwort ist, dann hast Du die falsche Frage gestellt.“Du solltest wirklich nur dann mit eval() arbeiten, wenn es absolut nicht anders möglich ist.
Und wenn es nicht anders möglich ist, dann hast du meist ein ziemliches schräges Konzept entworfen, daß du unbedingt überdenken solltest.
was ist denn an eval so schlecht? Läuft super. (ich hab mir ein eigenes CMS proammiert. Bitte hierzu keine Komentare. ich weis, dass es schon fertige kostenlos gibt.).
Gruß
anno2007
Hi!
Wie kann ich das script im UTF-8-Format speichern?
Das kommt auf deinen Editor an...
Aber selbst notepad.exe bietet dir die Möglichkeit, eine Codierung anzugeben.
Wenn du dort auf "speichern unter" gehst, findest du dort irgendwo unter dem Dateinamen das Feld "Codierung".
Aber das hält jeder Editor natürlich anders. Wo du die Möglichkeit hast, die verwendete Codierung einzustellen, mußt du schon selber schauen.
Wenn du die Menüpunkte durchsiehst, sollte das aber nicht allzuschwer zu finden sein. Notfalls hat deine Editor sicher eine Hilfefunktion...
Schöner Gruß,
rob
echo $begrüßung;
Da ich jetzt MySQL-5 habe und da nichts mehr mit ä,ü,ö richtig angezeigt bzw. verarbeitet wird. Das kann man zwar teilweise umstellen auf latin..., aber der export der DB geht nicht mehr richtig in diesem Format.
Wenn du dem MySQL-Server nicht sagst, welche Kodierung du verwendest, geht er von seiner Default-Einstellung aus. Es ist immer eine gute Idee, nach dem Verbindungsaufbau die gewünschte Kodierung einzustellen und bei Kommandozeilentools per Option die gewünschte Zeichenkodierung festzulegen.
MySQL-Handbuch-Kapitel: Character Set Support
echo "$verabschiedung $name";