Verzweiflung: Umlaute gehen einfach nicht

TheBrain2

New Member
Also langsam kommt ich nicht mehr zurecht....
in dem Forum hier habe ich am Meisten gefunden, leider hat keiner der Wege geholfen, darum habe ich mich jetzt angemeldet und hoffe, dass es auch für mein Umlautproblem eine Lösung gibt.

Ich habe ein Script, Boonex Dolphin um genau zu sein.
Es lief auf einem Server, die genaue Config kenne ich leider nicht, ausser dass im PhpMyAdmin die Anbindung auf UTF-8 stand und die Tabellen aber in latin1 waren von der Kollation.
Die PHP Dateien und HTML Dateien habe ich auf ISO-8859-1 gestellt.

Angeblich war die php.ini und die my.cf oder wie die heißt auf latin/iso gestellt.

Die Seite lief perfekt.


Jetzt bin ich vor 4 Wochen umgezogen auf einen Managed Server, da laufen einfach keine Umlaute.
Alles was ich in PhpMyAdmin sehe ist identisch.

Das Problem macht sich so bemerkbar:
Es werden einfach die Umlaute garnicht weiter übergeben. Aus der Datenbank können die gelesen werden, aber man kann nichts speichern weil die PHP Dateien die scheinbar nicht übergibt (macht sich bemerktbar dadurch, dass wenn ich ein unvollständiges Formular absende und ich es damit nochmals sehen mit dem Hinweis (nicht vollständig etc.), dann sind bereits hier die Umlaute schon nicht mehr vorhanden.

So jetzt standen die my.conf oder so und die php.ini jeweils auf UTF-8....ich habe inzwischen alle Variationen von MySQL und PHP und cripten auf jeweils ISO und UTF8 und gemischt etc....egal was ich hier änder, ich komm nicht ans Ziel...wenn ich alles auf UTF-8 stelle, dann sehe ich nur hässliche Fragezeichen genauer gesagt dieses Fragezeichen in der schwarzen Raute.

Weiß irgendwer etwas was hier falschläuft? Ich habe die Dateien bis auf die versuche im Charset kein bisschen geändert, es sind alle, auch die Datenbanken, genaue Spiegelbilder.
 
Habe gerade in die httpd.conf AddDefaultCharset UTF-8 geschrieben. Hat leider auch nichts gebracht.....
Bin ich da richtig? Denn eine "charset" datei habe ich nicht gefunden

edit:
OK eine PHP.ini war noch da die ich ändern musste....
jetzt ist wieder alles auf UTF-8, nur wunderbarerweise sind jetzt die Fragezeichen die vor dieser Einstellung wegwaren wieder da.
Wenn ich in eine Formular als User angebe "ÖzmirÜlüglü" kommt da raus "�zmir�l�gl�"

Laut PHP Info gibt es folgende Sachen wo was mit ISO 8859-1 ist...muss ich da ggf.a uch was ändern?
iconv
iconv support enabled
iconv implementation glibc
iconv library version 2.3.6

Directive Local Value Master Value
iconv.input_encoding ISO-8859-1 ISO-8859-1
iconv.internal_encoding ISO-8859-1 ISO-8859-1
iconv.output_encoding ISO-8859-1 ISO-8859-1

mbstring extension makes use of "streamable kanji code filter and converter", which is distributed under the GNU Lesser General Public License version 2.1.

Directive Local Value Master Value
mbstring.internal_encoding ISO-8859-1 no value
<- ich habe dabei alle 3 php.ini's durchgeschaut und überall ist das eig. auskommentiert...ich weiß nicht woher das kommt

SQLite
SQLite Encoding iso8859
 
Last edited by a moderator:
im PhpMyAdmin die Anbindung auf UTF-8 stand und die Tabellen aber in latin1 waren von der Kollation.
Wenn Die Tabellen alle in latin1 sind, warum versuchst Du es dann als UTF-8 auszuspucken?
Entweder Du bist durchgehend auf latin oder durchgehend auf UTF8.
Oder Du baust einen Converter ein.
Du nutzt aber keinen Charset-Converter, also bleiben die Zeichen aus der DB als Latin und werden dann als ? dargestellt.

huschi.
 
Also die einzelnen Tabellen habe ich bereits in UTF-8 konvertiert.
Nur die jeweiligen zeilen da sind alle noch Latin1, das hat mein Script zum konvertieren nicht geändert. (edit: achja das war auf den alten Server bezogen.....ja wie gesagt ich habe ja shcon alles auf dem Server hier auf ISO 8859-1 umgestellt und es lief nicht....habe ja inzwischen 10 mal alles geändert in allen variationen...)
Ausserdem denke ich ja, dass es nichts mit der Datenbank zu tun haben kann, da ich ja im Moment nicht mal versuche etwas zu speichern.
Ich habe ja nur meine Registrationsformular, sende das ab, mit falschen angaben und bekomme dann wieder das Formular wieder mit den Eingaben ohne Umlaute.

Ausserdem lief ja alles auf dem anderen Server perfekt und da ich gesehen habe,d ass das in Latin1 ist, habe ich ja bereits alle angesprochenen Dateien wie php.ini's, my.cnf und httpd.conf auf ISO 8859-1 gestellt und auch da funktioniert nichts....
da ich leider auch wenig Ahnung von soetwas habe und mit hier einlesen muss komme ich nicht wirklich weiter....

Ich weiß da nicht mehr was ich machen soll.....wieder alles zurück auf ISO bringt einfach nix, da klappt auch nichts mit, da verschwinden die Umlaute einfach ohne jede Info.

Desweiteren: Wenn ich eine Registrieurng abschließe oder sonst was mache und einen Umlaut an die Datenbank schicke, dann werden die Umlaute auch in der Datenbank gespeichert. ich sehe die in phpmyadmin....aber ich kann die einfach nicht mehr ausgeben?
 
Last edited by a moderator:
Was ist der Verbindungszeichensatz von MySQL? Dass die Kollation von Tabellen auf latin1 steht, bedeutet nicht, dass die Inhalte auch in latin1 aus der DB geholt werden.

Stichwort hier ist:
Code:
SET NAMES 'charset_name'
Vor jede Abfrage an die Datenbank sollte es im Skript dann abgesetzt werden. Ich kenne die Applikation nicht, die Du verwendest, aber vielleicht hilft der Hinweis weiter, um nach dem Problem zu suchen.

Gruß,
Sonya
 
Back
Top