ä ö ü werden falsch ausgegeben (erledigt)

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Rebei
Beiträge: 50
Registriert: 07.03.2003 20:24:18
Wohnort: Schweiz - Gstaad

ä ö ü werden falsch ausgegeben (erledigt)

Beitrag von Rebei » 01.01.2006 14:16:16

Morgen

Erst mal - Guets Nöis an Alle! die hier schreiben lesen oder was auch immer

Kurze Frage, grosses Problem?..

Meine Mysql DB funkt, ich bin dabei PHP Scripte dazu zu schreiben.

In der DB sind Textdaten, die unter anderem ä ö und ü enthalten und andere Sonderzeichen. Woran liegt es, dass die Abfragen an jener Stelle, wo sich solche Dingser befinden, einen Rhombus mit Fragezeichen darin hinschreibt?

Ist es ein Problem der Apache-Konfiguration, von der PHP-Konfiguration ? Kann man dies irgendwie beheben?

Am Browser kann es nicht liegen, da er andere Seiten und Abfragen auf externen Servern korrekt ausgibt (Opera).

Vielen Dank schon von vornherein für etwelche helfende Statements.

Gruss Rebecca
Zuletzt geändert von Rebei am 03.01.2006 00:44:59, insgesamt 1-mal geändert.
Try and Error

schoeppchen
Beiträge: 184
Registriert: 08.12.2005 11:07:15
Kontaktdaten:

Beitrag von schoeppchen » 01.01.2006 14:17:59

Welche mySQL Version hast du? Ist die Kollation korrekt gesetzt? Du benötigst vermutlich utf8_general_ci als Kollation.

Rebei
Beiträge: 50
Registriert: 07.03.2003 20:24:18
Wohnort: Schweiz - Gstaad

Beitrag von Rebei » 01.01.2006 14:21:32

MYSQL 4.1.15

Habe gerade den Code geändert (war latin swedish.. blabla)

Nützt zZ leider nix.

Gruss Rebecca

PS: Die Daten werden in der mysql selber korrekt angezeigt.
Try and Error

schoeppchen
Beiträge: 184
Registriert: 08.12.2005 11:07:15
Kontaktdaten:

Beitrag von schoeppchen » 01.01.2006 15:32:50

Eine Änderung der Kollation wirkt sich meines Wissens nach nicht auf bestehende Datensätze aus. Also am Besten alle Tabellen mit der neuen Kollation anlegen und Inhalte reindumpen. Wenn es dann noch nicht geht, bitte noch mal melden.

Rebei
Beiträge: 50
Registriert: 07.03.2003 20:24:18
Wohnort: Schweiz - Gstaad

Beitrag von Rebei » 01.01.2006 18:27:07

Hm noe..

Jetzt liest er alles nur bist zu einem Sonderzeichen ein und lässt den Rest dann über. Aus Beiträgen wird Beitr

Wenn ich von Hand ä ö ü s eintippe, dann macht er immer noch die netten Fragezeichen.

Gruss Rebecca
Try and Error

schoeppchen
Beiträge: 184
Registriert: 08.12.2005 11:07:15
Kontaktdaten:

Beitrag von schoeppchen » 01.01.2006 21:32:20

Rebei hat geschrieben: Wenn ich von Hand ä ö ü s eintippe, dann macht er immer noch die netten Fragezeichen.
Eintippe? Ich glaube wir reden aneinander vorbei. Wo eintippen? Noch mal bitte genau beschreiben, wo die Sonderzeichen versaut werden (mySQL, PHP, Apache).

Rebei
Beiträge: 50
Registriert: 07.03.2003 20:24:18
Wohnort: Schweiz - Gstaad

Beitrag von Rebei » 01.01.2006 23:33:57

Also..

Ich habe nach deinem Hinweis die DB Konfiguration auf utf .. geändert. Dann die Tabellen geleert und neu eingespielt.
Bei der erneuten Einspielung der Daten aus einer CSV Datei (konvertierte DBF Dateien > im Texteditor sind die Daten in der zu CSV konvertierten Datei jedoch korrekt) wurden alle Wortteile abgeschnitten, die sich hinter einem Sonderzeichen befanden (ab ä ö oder eben ü). Daher sind jetzt nur halbe Wörter in der DB zu finden :-)

Wenn ich aber einen Datensatz von Hand eintippe mit den Sonderzeichen, wird per PHP Ausgabe noch immer gefragezeichnet.

Man kann die SQL DB in verschiedenen Formaten öffnen (German utf 8 oder zwei verschiedene German de ISO Normen (8859-15 und 8859-1).

Welche ist da zu wählen?

Gruss Rebecca
Try and Error

Benutzeravatar
h-man
Beiträge: 745
Registriert: 05.02.2003 13:10:08
Wohnort: Berlin
Kontaktdaten:

Beitrag von h-man » 01.01.2006 23:43:31

8859-15 ist mit dem EURO symbol. wers braucht...

zu deinem prob mit dem fragezeichen: bist du sicher daß dein konsolezeichensatz die umlaute auch kennt und richtig eingestellt ist?
Nieder mit der Schwerkraft.

Rebei
Beiträge: 50
Registriert: 07.03.2003 20:24:18
Wohnort: Schweiz - Gstaad

Beitrag von Rebei » 01.01.2006 23:52:06

Hallo H-Man

Kann ich dies überprüfen?

Gruss Rebecca
Try and Error

schoeppchen
Beiträge: 184
Registriert: 08.12.2005 11:07:15
Kontaktdaten:

Beitrag von schoeppchen » 01.01.2006 23:58:36

Gib mal locale auf Shellebene ein, was wird dann ausgegeben?

Rebei
Beiträge: 50
Registriert: 07.03.2003 20:24:18
Wohnort: Schweiz - Gstaad

Beitrag von Rebei » 02.01.2006 00:00:00

Dies hier - so ziemlich alles auf de_CH..

Code: Alles auswählen

LANG=de_CH
LC_CTYPE="de_CH"
LC_NUMERIC="de_CH"
LC_TIME="de_CH"
LC_COLLATE="de_CH"
LC_MONETARY="de_CH"
LC_MESSAGES="de_CH"
LC_PAPER="de_CH"
LC_NAME="de_CH"
LC_ADDRESS="de_CH"
LC_TELEPHONE="de_CH"
LC_MEASUREMENT="de_CH"
LC_IDENTIFICATION="de_CH"
LC_ALL=
Gruss Rebecca
Try and Error

schoeppchen
Beiträge: 184
Registriert: 08.12.2005 11:07:15
Kontaktdaten:

Beitrag von schoeppchen » 02.01.2006 00:05:06

Noch eine Frage: Wenn du einen Datensatz direkt über die mySQL Kommandozeile einfügst (also erst mal per mysql auf Shellebene konnektieren, danach INSERT Kommando zum einfügen) mit Sonderzeichen, lassen sich diese dann per SELECT korrekt anzeigen?

Rebei
Beiträge: 50
Registriert: 07.03.2003 20:24:18
Wohnort: Schweiz - Gstaad

Beitrag von Rebei » 02.01.2006 00:09:24

Nein.. eben nicht..

Sonst könnte ich es zumindest so ändern..

Gruss Rebecca
Try and Error

schoeppchen
Beiträge: 184
Registriert: 08.12.2005 11:07:15
Kontaktdaten:

Beitrag von schoeppchen » 02.01.2006 00:19:20

Aber ich gehe recht in der Annahme, dass du Sonderzeichen (z.B. äöü) in der Shell überhaupt eingeben kannst, korrekt?

Rebei
Beiträge: 50
Registriert: 07.03.2003 20:24:18
Wohnort: Schweiz - Gstaad

Beitrag von Rebei » 02.01.2006 00:27:10

Jep - das ist kein Problem.

Zum Problem wurden die Sonderzeichen erst bei der Handhabung der Daten in der DB und bei der Auslese..

Gruss Rebecca
Try and Error

Rebei
Beiträge: 50
Registriert: 07.03.2003 20:24:18
Wohnort: Schweiz - Gstaad

Beitrag von Rebei » 03.01.2006 00:01:36

Liegts vielleicht daran, dass folgendes nicht zusammenpasst? (Durch Lesen diversester Anleitungen sehe ich irgendwie nicht mehr ganz klar.. ):

Code: Alles auswählen

character set client 	utf8 	latin1 	
character set connection 	latin1 	latin1 	
character set database 	latin1 	latin1 	
character set results 	utf8 	latin1 	
character set server 	latin1 	latin1 	
character set system 	utf8 	utf8 	
character sets dir 	/usr/share/mysql/charsets/ 	/usr/share/mysql/charsets/ 	
collation connection 	latin1_german2_ci 	latin1_german1_ci 	
collation database 	latin1_german1_ci 	latin1_german1_ci 	
collation server 	latin1_german1_ci 	latin1_german1_ci
Ausserdem habe ich folgendes festgestellt:
Bei der Verbindung zum Mysql Server auf phpmyadmin Ebene kann ich zwar auswählen, welches Format ich gerne haben möchte (iso 8859 - 1 / 15 oder utf 8), er lädt aber nur utf 8. Iso nicht installiert? Wenn ja, woher bekommen?

Dann: Latin1 ist Standart und hat als Default latin swedish (deshalb war in meiner DB das nämlich zuerst auch drin). Latin 1 soll laut diverser Seiten im Netz Iso 8859 - 1 entsprechen.

Ausserdem: CSV-Dateien sollen ebenfalls normalerweise Iso 8859 -1 schreiben. Demnach dürfte Latin1 mit den CSV Dateien zusammenpassen.

Denkhilfen?

Gruss Rebecca
Try and Error

Rebei
Beiträge: 50
Registriert: 07.03.2003 20:24:18
Wohnort: Schweiz - Gstaad

Beitrag von Rebei » 03.01.2006 00:44:44

Problem gelöst

apache2.config

# vor addtype default iso 8859-1 wegnehmen..

und es läuft!

Gruss Rebecca
Try and Error

schoeppchen
Beiträge: 184
Registriert: 08.12.2005 11:07:15
Kontaktdaten:

Beitrag von schoeppchen » 03.01.2006 09:40:24

Ich verstehe aber nicht, was eine Apache Einstellung mit dem mySQL CLient auf Shellebene zusammenhängt, hattest du die Fragen am Schluss nicht korrekt beantwortet? Ich fragte:
Wenn du einen Datensatz direkt über die mySQL Kommandozeile einfügst (also erst mal per mysql auf Shellebene konnektieren, danach INSERT Kommando zum einfügen) mit Sonderzeichen, lassen sich diese dann per SELECT korrekt anzeigen?
Und du hast geantwortet:
Nein.. eben nicht..
Sonst könnte ich es zumindest so ändern..
Eine Einstellung am Apache würde hieran nichts ändern!

Rebei
Beiträge: 50
Registriert: 07.03.2003 20:24:18
Wohnort: Schweiz - Gstaad

Beitrag von Rebei » 04.01.2006 15:02:32

Moin..

Anscheinend doch. Jedenfalls werden jetzt sowohl CSV Dateien korrekt importiert wie auch php Scripte korrekt wieder ausgegeben..

Somit ist das SOLL erfüllt :)

Vielen Dank für die Unterstützung.

Gruss Rebecca .. die sich zur Zeit mit dem Samba Server herumschlägt
Try and Error

Antworten