Gegen Bilderklau - Das Original

Registrierung Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Statistik Chat Karte Zur Startseite

Gegen Bilderklau - Das Original » Design, Website, Copyright » Homepagehilfe » Homepagehilfe - Archiv » Nach Umlaut abgeschnitten, Ausgabe falsch » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen
Zum Ende der Seite springen Nach Umlaut abgeschnitten, Ausgabe falsch
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
brain_surgery brain_surgery ist weiblich
skype: energon-soup


images/avatars/avatar-52044.png

Dabei seit: 09.02.2005
Beiträge: 973
Herkunft: austria
Name: Nathalie

Nach Umlaut abgeschnitten, Ausgabe falsch Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo GB,

Ich bin gerade ein wenig am Ende mit meinem Latein.
Aus irgendeinem Grund funktionieren plötzlich die Umlaute in meinem Code nicht mehr so wie sie sollen.

Will ich einen Umlaut per Formular in die Datenbank speichern, dann wird der Umlaut nicht gespeichert und alles nach dem Umlaut abgeschnitten. Will ich Umlaute aus der Datenbank ausgeben, werden die als Kauderwelsch angezeigt.

Ich habe
header('Content-Type: text/html; charset=utf-8');
und
<meta http-equiv="content-type" content="text/html; charset=utf-8>
eingefügt, außerdem sichergestellt dass die Datenbank in utf-8-general-ci formatiert ist. Meine php Dateien sind teilweise in ANSI, teilweise in UTF-8 ohne BOM gespeichert.
Wenn sie im HTML stehen, werden die Umlaute einwandfrei angezeigt.

Was mich wundert ist, dass das ganze bisher eigentlich prächtig funktioniert hat, nur jetzt eben nicht mehr. Ich bin ratlos. >:

Weiß da eventuell jemand weiter?

Lg

EDIT: Wenn ich das ganze auf latin-1-german-ci umstelle, werden zwar Umlaute aus der Datenbank richtig ausgegeben, aber immer noch nicht gespeichert und die HTML Umlaute funktionieren ebenfalls nicht mehr.

__________________
Da ich selten bis gar nie sehe, wenn man mir PNs schreibt, bitte über Skype melden, wenn es ein Anliegen gibt! smile

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von brain_surgery: 13.10.2012 13:39.

13.10.2012 13:23 brain_surgery ist offline E-Mail an brain_surgery senden Homepage von brain_surgery Beiträge von brain_surgery suchen Nehmen Sie brain_surgery in Ihre Freundesliste auf
Oli
Server-Administrator


Dabei seit: 13.06.2010
Beiträge: 1.540

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hi,

wurde eventuell PHP oder MySQL geupdatet? Dann kann es sein, dass jetzt standardmäßig ein anderer Zeichensatz für die Verbindung benutzt wird. Grundsätzlich ist der Zeichensatz (in den meisten Fällen) egal, allerdings muss dieser beim Lesen gleich sein, wie beim Schreiben. Wenn die Zeichensätze nicht kompatibel sind, werden die Daten - logischerweise - verfälscht übertragen.

Eventuell mal versuchen, vor dem Auslesen/Schreiben von Daten mit SET NAMES (MySQL-Dokumentation hier) den Zeichensatz zu setzen, z.B.:
php:
1:
2:
mysql_query"SET NAMES 'utf8'" );
mysql_query"SET NAMES 'latin1'" );


Ansonsten probier mal, die Formulardaten in eine Datei zu schreiben, dann siehst du, ob das Problem schon früher auftritt (z.B. in der Übertragung des Formulars).

LG
13.10.2012 13:51 Oli ist offline Beiträge von Oli suchen Nehmen Sie Oli in Ihre Freundesliste auf
brain_surgery brain_surgery ist weiblich
skype: energon-soup


images/avatars/avatar-52044.png

Dabei seit: 09.02.2005
Beiträge: 973
Herkunft: austria
Name: Nathalie

Themenstarter Thema begonnen von brain_surgery
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ich hab gleich nach der Verbindung zur Datenbank folgendes eingefügt:
php:
1:
2:
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET 'utf8'");

Effekt ist derselbe.

Es ist möglich dass mein Hoster PHP und/oder MySQL geupdated hat.

Und die Formulare dürften, wie ich festgestellt habe, plötzlich alle nicht mehr richtig funktionieren. In vorhergegangen Tests haben sie das aber.

Tatsächlich klappts auch ohne Formular nicht mehr:
php:
1:
$query mysql_query("UPDATE mitglieder SET job = 'Unbeschäftigt' WHERE id = '".$_SESSION["id"]."'");

Die Zeile schrieb eigentlich das richtige in die Datenbank, jetzt aber nicht mehr. Jetzt wird da nur mehr "Unbesch" gespeichert. Wenn ich manuell "Unbeschäftigt" eintippe, zeigt es mir auf der Seite dann "UnbeschÀftigt" an.


UPDATE: Ich hab gerade gemerkt, dass ich aus Versehen statt
header('Content-Type: text/html; charset=utf-8');
folgendes stehen hatte:
header('Content-Type: text/html; charset=utf-9');
Das habe ich nun ausgebessert, was dazu geführt hat, dass die HTML Umlaute auch nicht mehr angezeigt werden. :U

__________________
Da ich selten bis gar nie sehe, wenn man mir PNs schreibt, bitte über Skype melden, wenn es ein Anliegen gibt! smile

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von brain_surgery: 13.10.2012 14:43.

13.10.2012 14:29 brain_surgery ist offline E-Mail an brain_surgery senden Homepage von brain_surgery Beiträge von brain_surgery suchen Nehmen Sie brain_surgery in Ihre Freundesliste auf
Oli
Server-Administrator


Dabei seit: 13.06.2010
Beiträge: 1.540

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Zitat:
Original von brain_surgery
Tatsächlich klappts auch ohne Formular nicht mehr:
php:
1:
$query mysql_query("UPDATE mitglieder SET job = 'Unbeschäftigt' WHERE id = '".$_SESSION["id"]."'");

Die Zeile schrieb eigentlich das richtige in die Datenbank, jetzt aber nicht mehr. Jetzt wird da nur mehr "Unbesch" gespeichert. Wenn ich manuell "Unbeschäftigt" eintippe, zeigt es mir auf der Seite dann "UnbeschÀftigt" an.


Ist die PHP-Datei in UTF8 gespeichert? Sonst schreibst du hier nämlich nicht-UTF8 in eine UTF8-Verbindung.
13.10.2012 14:43 Oli ist offline Beiträge von Oli suchen Nehmen Sie Oli in Ihre Freundesliste auf
brain_surgery brain_surgery ist weiblich
skype: energon-soup


images/avatars/avatar-52044.png

Dabei seit: 09.02.2005
Beiträge: 973
Herkunft: austria
Name: Nathalie

Themenstarter Thema begonnen von brain_surgery
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ah! Nun mit dem richtigen Header und dadurch dass ich die Kodierung der Unterseite von ANSI auf UTF-8 umgestellt habe, klappt es jetzt! Danke für die Hilfe!

Vorher hat es anscheinend nur durch Glück geklappt, aber ich bin froh dass ich jetzt weiß, wie ich so ein Fehlverhalten in Zukunft verhindern kann. c:

__________________
Da ich selten bis gar nie sehe, wenn man mir PNs schreibt, bitte über Skype melden, wenn es ein Anliegen gibt! smile
13.10.2012 14:50 brain_surgery ist offline E-Mail an brain_surgery senden Homepage von brain_surgery Beiträge von brain_surgery suchen Nehmen Sie brain_surgery in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Gegen Bilderklau - Das Original » Design, Website, Copyright » Homepagehilfe » Homepagehilfe - Archiv » Nach Umlaut abgeschnitten, Ausgabe falsch

Impressum

Forensoftware: Burning Board, entwickelt von WoltLab GmbH