Problematik Zeichensatz

Hast du Probleme Admidio einzurichten? Hier kannst du Fragen rund um die Einrichtung stellen.
Antworten
harryman
Beiträge: 141
Registriert: 25. Jul 2007, 22:58
Kontaktdaten:

Problematik Zeichensatz

Beitrag von harryman »

Hallo

Leider ist mein Zeichensatzproblem mit dem ansonsten erfolgreich verlaufenen Upgrade von 1.4. auf 2.0 nicht verschwunden.

In der Admidio-Umgebung (GUI; Menues, Datensätze) werden Umlaute korrekt dargestellt.

Will ich aber Daten per Script auslesen und anzeigen lassen, dann funktioniert das nicht, Umlaute werden falsch dargestellt.

Im Seiten-Header steht <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

Mir ist aufgefallen, dass die Kollation bei allen Tabellen noch auf latin 1 steht.

Anpassung der .htaccess brachte keine Verbesserung.

Kann mir jemand einen Tipp geben?


Vielen Dank und Gruss
Harald
Jochen
Team
Beiträge: 1506
Registriert: 22. Feb 2006, 18:11

Beitrag von Jochen »

Hallo,

kannst Du mal rausfinden welche SQL-Version Du verwendest. Ich hatte neulich Probleme mit Version 4.1. Da wurden die tabellen nicht auf utf8 gesetzt.

Sicher laufen tut 5.0.

Gruß jochen
harryman
Beiträge: 141
Registriert: 25. Jul 2007, 22:58
Kontaktdaten:

Beitrag von harryman »

Jochen hat geschrieben:Hallo,

kannst Du mal rausfinden welche SQL-Version Du verwendest. Ich hatte neulich Probleme mit Version 4.1. Da wurden die tabellen nicht auf utf8 gesetzt.
Server Version: 5.0.45
MySQL-Zeichensatz: UTF-8 Unicode (utf8)

Aufgefallen ist mir noch, dass die Kollation bei allen Tabellen auf latin1_german1_ci steht.

Gruss
Harald
Jochen
Team
Beiträge: 1506
Registriert: 22. Feb 2006, 18:11

Beitrag von Jochen »

Hi,

auch wenn es ein bisschen Handarbeit ist, könntest Du mal versuchen die Tabellen von Hand auf utf8 umzustellen?

Problem wird vermutlich sein das die Textfelder innerhalb der Tabellen von Hand umgestellt werden müssen.

Gruß Jochen
klaus
Beiträge: 152
Registriert: 12. Nov 2006, 13:04
Kontaktdaten:

Beitrag von klaus »

Hallo Harald,
wenn ich meine DB mit phpmyadmin anzeige, dann steht auf der Übersichsseite für die Gesamt-DB:

Language: German ( de-utf-8 )
MySQL-Zeichensatz: UTF-8 Unicode (utf8)
Zeichensatz / Kollation der MySQL-Verbindung: utf8_general_ci

Die Kollation der einzelnen Tabellen steht auf: Latin1_german_ci

Diese Kollation musste ich für jede Tabelle manuell eingeben.

Mein Hoster: 1&1
harryman
Beiträge: 141
Registriert: 25. Jul 2007, 22:58
Kontaktdaten:

Beitrag von harryman »

Jochen hat geschrieben:auch wenn es ein bisschen Handarbeit ist, könntest Du mal versuchen die Tabellen von Hand auf utf8 umzustellen?

Problem wird vermutlich sein das die Textfelder innerhalb der Tabellen von Hand umgestellt werden müssen.
Ich habe nun alle Tabellen manuell auf utf8_general_ci umgestellt.
Im Admidio-GUI werden die Umlaute weiterhin korrekt angezeigt. Die Umlaute bei den per Script ausgelesenen und angezeiget Werte sind weiterhin falsch.

Was könnte ich noch tun?


Nachtrag: Wenn ich das SQL-Script im phpMyAdmin laufen lasse, dann erscheinen die Umlaute korrekt. Wenn ich das selbe Script via php aus einer Seite heraus aufrufe, dann sind die Umlaute vermurkst. http://www.fctc.ch/cms/index.php?page=92 -> siehe erster Name bei Kader. Ambühl wäre korrekt.
matzman2000
Former team member
Beiträge: 1087
Registriert: 2. Sep 2007, 17:12
Wohnort: Itzstedt
Kontaktdaten:

Beitrag von matzman2000 »

Hallo Harry,

verwendest Du auf Deinen Seiten Frames?

Kannst Du bitte in Deine index.php ganz am Anfang mal folgenden Quelltext einkopieren und das Ergebnis posten:

Code: Alles auswählen

<?php

header("Content-Type: text/html;charset=utf-8");

?>
Gruss,
Matze
harryman
Beiträge: 141
Registriert: 25. Jul 2007, 22:58
Kontaktdaten:

Beitrag von harryman »

Hallo Matze

negativ, keine Verbesserung.
Benutzeravatar
fasse
Administrator
Beiträge: 6167
Registriert: 12. Nov 2005, 16:06

Beitrag von fasse »

Bevor hier zuviel Verwirrung aufkommt, will ich noch einmal ein paar Dinge klarstellen:

- Admidio mit UTF8 läuft 100% ab MySQL 4.1 (vorherige Versionen funktionieren auch, aber mit Einschränkungen)

- Der Zeichensatz der MySQL-Tabellen kann ruhig weiter auf Latin1 stehen und muss nicht unbedingt auf UTF8 stehen (der Zeichensatz der Tabellen ist Admidio auch egal und hat keine Auswirkungen auf Zeichenprobleme in der Darstellung)

- Wichtig ist der Zeichensatz der Datenbankverbindung. Dieser muss auf UTF8 stehen. Solltest du nicht über unsere MySQL-Klasse eine Verbindung zur Datenbank erstellen, dann musst du selber die Verbindung auf UTF8 stellen.

SQL-Statement:

Code: Alles auswählen

SET NAMES 'utf8'
Dann sollte es bei dir auch klappen.
harryman
Beiträge: 141
Registriert: 25. Jul 2007, 22:58
Kontaktdaten:

Beitrag von harryman »

Hallo Fasse

Erfolg! Herzlichen Dank für den Tipp

Gruss
Harald
Antworten