Wunderschönen guten Morgen, wünsche ich.
Ich habe vor kurzem mein kleines Nachrichtensystem geschrieben, nun habe ich Darstellungsprobleme bei Umlauten.
Folgendes habe ich direkt nach der Datenbank Verbindung:
[PHP]mysql_query(„SET NAMES ‚utf8‘“);
mysql_query(„SET CHARACTER SET ‚utf8‘“);
[/PHP]
In der Datenbank habe ich als Koallition „utf 8 general ci“ angegeben.
Mein Code für die „Darstellung“ an sich, sieht folgendermaßen aus:
[PHP]<?php
echo „<div id="profibox">“;
if ( isset($_GET[„id“]) ) {
<a href="messages.php">Zurück“;
?>[/PHP]
Dennoch werden Umlaute unformatiert dargestellt, woran könnte das liegen, was mache ich im Bezug darauf falsch? …
MfG
Und noch ein paar Anregungen:
[ol]
[li]Was passiert, wenn $_GET[‚id‘] nicht vorhanden ist bzw. was steht dann in $messageID?[/li][li]Der Parameter wird nicht durch mysql_real_escape gejagt[/li][li]„Select *“ ist grausam[/li][li]Tabellen- und Spaltennamen gehören zwischen Backticks[/li][li]Was passiert, wenn es keine Treffer in der Datenbank gibt?[/li][li]Was soll die echo-Orgie[/li][li]Der Font-Tag ist veraltet, nutze CSS[/li]
[li]Die MySQL-Extension ist veraltet, nutze MySQLi[/li][/ol]
Diesbezüglich habe ich zweierlei Meta Tags ausprobiert:
[HTML]
[/HTML]
@bdt600
Wenn $_GET[‚id‘] nicht vorhanden ist, wird die ID zum Öffnen einer Privatnachricht nichtmehr übergeben, und somit nichts beim Klick geöffnet…
Derzeit bin ich dabei jegliche Seiten und Unterseiten meines Projekts zu „korrigieren“ bzw. mit mysql_real_escape zu versehen…
Warum eigentlich? Wenn ich doch alle Spalten benötige… ?
Das werde ich noch korrigieren, danke.
Was heißt, keine Treffer in der Datenbank, bzw. was meinst du damit? Mit dem Klick auf eine Nachricht wird man ja auf einen „Treffer“ verwiesen…
Eine blöde Angewohnheit …
Dass einfache Html Tags wie das Font Tag veraltet sind wusste ich nicht…
Darauf wurde ich natürlich schon tausendfach hingewiesen, und das nicht ohne Grund, allerdings werde ich erst bei Fertigstellung meines Projekts alles was MySQL ist zu MySQLi abändern, ganz einfach weil ich schon Monate dahinter sitze, und nicht mitten im Projekt jegliche Queries überarbeiten werde…
Nicht ausprobieren - wissen. Du musst wissen was Du machst. Du musst den Zeichensatz angeben den die Texte in deinem Dokument verwenden und in dem die Dateien, die diese Texte enthalten und ausgeben gespeichert sind. Nicht irgendeinen anderen.
Zudem hast Du offenbar nicht den HTTP-Header kontrolliert, der eine Angabe von meta-Tags überschreibt.