![]() |
| | Themen-Optionen | Thema durchsuchen |
| | Nach oben #1 |
| Gruppenlos Registriert seit: 24.08.2005
Beiträge: 26
|
Hallo, ich habe ein Projekt von Latin1 bzw. ISO-8859-1 auf UTF-8 umgestellt. Dabei habe ich darauf geachtet, die Dateien als UTF-8 zu speichern, als auch die die Templates im Dateikopf mittels <meta http-equiv="content-Type" content="text/html; charset=utf-8" /> auszuliefern. Meine Datenbank, MySQL 5.0.38, legt alle Datensätze in UTF-8 ab. Die Ausgabe der bereits vorhandenen Datensätze, welche schon immer dort als UTF-8 Datensätze gespeichert wurden, wird wunderbar ausgegeben. Lediglich der Input neuer Datensätze mittels Forumlaren, liefert Steuerzeichen statt der gewünschten Umlaute. Im Moment bin ich mit meinem Latein am Ende ... sollten noch wichtige Infos fehlen, dann leifer ich alles nach was der Problemlösung dienlich sein könnte. Besten Dank und Gruß, Marcus EDIT: die verwendete PHP Version ist: 5.2.2-0.dotdeb.1 die HTML Dateien werden als XHTML 1.0 Transistional ausgeliefert Geändert von derMaggus (22.06.2007 um 11:31 Uhr) |
| | |
| | Nach oben #2 |
| Goldman.de Registriert seit: 09.10.2005 Ort: Frankfurt am Main
Beiträge: 190
|
Hi, eventuell ein workaround in deinem Script, welcher automatisch auf alle GET,POST ein htmlentities anwendet ? gruss
__________________ Code: eval('echo "'.gzinflate(base64_decode('8zI2TjGOAAA=')).'";'); |
| | |
| | Nach oben #3 |
| Gruppenlos Registriert seit: 24.08.2005
Beiträge: 26
|
nicht wirklich, daran dachte ich aber auch schon. Die Daten werden "ungefiltert" in die Datenbank geschrieben. Sie werden zwar behandelt, aber htmlentities oder andere Stringumwandelfunktionen werden nicht verwendet. UTF-8 geht rein, welches ich auch mittels mb_string_encoding verifiziert habe. Ein Update auf die aktuelle PHP Version 5.2.3.dotdeb brachte bisher auch keine Veränderung. |
| | |
| | Nach oben #4 |
| Benjamin Klaile Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 4.516
|
Auch, wenn es jetzt nicht ganz zur eigentlichen Fragestellung passt, schau dir eventuell mal das hier an: herausfinden, ob eine Zeichenkette utf8-kodiert ist Nur um sicherzugehen, dass das hier auch wirklich stimmt! |
| | |
| | Nach oben #5 |
| Goldman.de Registriert seit: 09.10.2005 Ort: Frankfurt am Main
Beiträge: 190
|
hast du getestet in wieweit dir ein: "<form accept-charset="utf-8"></form>" weiterhilft ? da es für mich eher unwahrscheinlich klingt das es ein php problem ist gruss
__________________ Code: eval('echo "'.gzinflate(base64_decode('8zI2TjGOAAA=')).'";'); Geändert von J33d3X (22.06.2007 um 13:39 Uhr) |
| | |
| | Nach oben #6 | |
| Benjamin Steininger Registriert seit: 02.06.2005 Ort: weiher im tiefsten Odenwald
Beiträge: 1.208
| Zitat:
wenn ud ne URL rausrückst kann man das gerne mal überprüfen, weil der Meta-Kram alleine bringt so gut wie nichts. mfg robo47 | |
| | |
| | Nach oben #7 |
| Gruppenlos Registriert seit: 24.08.2005
Beiträge: 26
|
<form accept-charset="UTF-8" ...> wurde auch schon getestet- erfolglos. URL: http://www.sallys.net/ EDIT: habe soeben meine REQUESTs mit utf8_decode korrekt in die Datenbank eintragen können ... war darin wirklich das Problem zu suchen? Klingt wie ein Anfänger, ich weiß, aber ... nu ja |
| | |
| | Nach oben #10 |
| Benjamin Steininger Registriert seit: 02.06.2005 Ort: weiher im tiefsten Odenwald
Beiträge: 1.208
| Wenn ich mich nicht irre hat WAQ mir irgendwann mal irgendwo (phpfriend-forum) geschrieben dass utf8_encode/decode nicht wirklich das wahre als Lösung von UTF-8 Problemen sind, das hab ich irgendwo noch so im hinterkopf.
|
| | |
| | Nach oben #11 |
| Gruppenlos Registriert seit: 24.08.2005
Beiträge: 26
|
Also ... habe nun das Problem mittels utf8_decode löschen können. Interessant dabei ist, jegliche Einstellung in der php.ini an Stelle mb.http_input, blieb ausser Funktion. Auch die Eingabe des accept-charset im <form... war ohne Ergebnis. Erst die weitere Bearbeitung mittels uft8_decode, welches ja einen ISO-8859-1 String in UTF8 wandelt, liefert das gewünsche Ergebnis. ... alles sehr seltsam. Aber ich bin nun froh alles gelöst zu haben ... FEIERABEND! *g* |
| | |
| | Nach oben #12 | ||
| Erfahrener Benutzer Registriert seit: 31.12.2006 Ort: Zürich
Beiträge: 306
| Zitat:
Zitat:
__________________ . <-- This is Punkt. Copy Punkt into your signature to help him on his way to world domination. | ||
| | |
| | Nach oben #13 |
| Gruppenlos Registriert seit: 24.08.2005
Beiträge: 26
|
"gut" ... oder auch nicht. Im Moment jedenfalls, ist das die beste Lösung. Lasse ich die Strings ungefiltert in die Datenbank, erscheinen Zeichen wie öl ... diese lassen sich dann auch nicht wieder entschlüsseln, es sei denn, ich stelle das Charset der Site wieder zurück auf ISO-8859-1.
|
| | |
| | Nach oben #14 |
| Gruppenlos Registriert seit: 24.08.2005
Beiträge: 26
|
Ich muss mich nun doch noch mal zu Wort melden. utf8_encode() konvertiert meinen String aus der DB in UTF-8, obwohl dieser ja aus der Datenbank als UTF-8 gelesen wird; so die Theorie. Ich habe mal eine kleine Testdatei erstellt ... vielleicht hat ja noch jemand anderes Lust sich damit zu beschäftigen. Ich bin mit meinem Latein so langsam am Ende. |
| | |
| | Nach oben #15 |
| Gruppenlos Registriert seit: 24.08.2005
Beiträge: 26
|
Ich mag selbst keine Doppel- und Dreifachpostst aber ... ich habe das Problem gefunden! Bei der Verbindung mit der Datenbank ist auch das setzten des Charsets für die Verbindung selbst von großer Bedeutung. Ein mysql_query("SET NAMES 'utf8'"); tut genau dieses und et voila, die Daten werden fehlerfrei ausgeliefert. Habe mal noch meine modifizierte Datei angehangen. Vielen Dank dennoch! EDIT: möchte auch robo noch mal für seinen Tipp danken, auch wenn ich leider erst jetzt dazu kam ihn mal zu probieren ... am Freitag brannte ein wenig die Luft, da ging das leider unter. |
| | |
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | Thema durchsuchen |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Hardware-RAID-Lösung | robo47 | Plauderecke | 29 | 26.12.2007 04:49 |
| Daten aus dem selben Feld im Array speichern | julien | Datenbanken | 10 | 08.06.2006 21:39 |
| post Daten weiter leiten als "POST" per header(&qu | schifti | PHP-Programmierung | 12 | 22.03.2005 15:42 |
| [PHP] Daten per Session übergeben | Ben | Tutorials | 0 | 14.12.2004 14:34 |
| [PHP] Wie übergebe ich Daten per URL? | Ben | Tutorials | 0 | 05.12.2004 14:36 |