UTF und Umlaute

Begonnen von sternchen, 04 November 2007, 19:51:48

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 2 Gäste betrachten dieses Thema.

sternchen

Hallo Pragma Team,

ich habe Pragma mit allen Servicepacks installiert, sowie eine bestehende standalone Coppermine integriert.

Ich verwende:
MySQL - 5.0.32-Debian_7etch1-log
MySQL-Zeichensatz: UTF-8 Unicode (utf8)

Jetzt habe ich ein (oder zwei?) Probleme:
Die Umlaute in den linken Menüs werden nicht richtig dargestellt: z.B. Benutzerg�stebuch
Dies betrifft nicht das Adminmenu

Außerdem werden die Links im Menu anscheinend falsch generiert. Ich schätze dort wird beim Zusammenbau durch unterschiedliche Kodierung ein Zeichen eingefügt wo keines sein sollte.
<tr><td><img src="themes/mx-rainbow/sys_images/images/menu/rarrow.gif" width="14" height="9" alt="" border="0" >�<a href="modules.php?name=UserGuest">Benutzerg�stebuch</a></td></tr>

Mit der Bordsuche bin ich duch, der beste Tipp scheint mir dieser gewesen zu sein:
http://www.pragmamx.org/forum-topic-19867.0.html
ZitatIch habe jetzt in der mainfile.php, direkt nach dem öffnen der mySql-Verbindung folgende 2 Zeilen eingefügt:
Code:
mysql_query('SET NAMES latin1;');
mysql_query('SET CHARACTER SET latin1;');
Damit funzt es anscheinend einwandfrei > Sonderzeichen korrekt und der Validator ist auch zufrieden.

Brachte aber keinen Erfolg

Fummelhase

Ich habe so ein ähnliches Problem mit arabischen Zeichen

Sitki

#2
@ sternchen

Hallo :),

mit welcher voreingestellten DB Tabellen-Kollation hast du denn pragmaMx installiert? Die Rede ist nicht vom Zeichensatz / Kollation der MySQL-Verbindung sondern die der DB Tabellen-Kollation, einsehbar z.B. über phpMyAdmin die Tabelle anwählen -> Operationen -> bei Kollation: ?. Dort sollte bsp. nicht die Kollation utf8_unicode_ci angewählt sein, sondern z.B. latin1_german1_ci oder latin1_swedish_ci (Achtung! Die korrekte Kollation muss VOR der Installation gesetzt sein). Um herauszufinden, welche DB Tabellen-Kollation am besten mit Sonderzeichen funktioniert, hatte ich mal alle Kollationen getestet und dieses Fehlerbild kommt mir daher bekannt vor.

Die Beschreibung der jeweiligen Kollationen kann übrigens über den Link 'Zeichensätze und Kollationen' auf der Startseite von phpMyAdmin eingesehen werden.

In diesem Beitrag gibt es auch weitergehende Informationen zum Thema.
-> Umlaut- und Sonderzeichen-Schreibweise


Edit: Die Angabe von möglichen Kollationen ergänzt.
viele Grüße

Kein Support über PN, Mail oder Messenger!
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!

sternchen

Hallo Atahan,

Standardmäßig stand bei mir natürlich: utf8_unicode_ci

Bei der Neuinstallation ist mir aber aufgefallen, daß bereits im Installer Zeichen falsch ausgegeben werden, noch bevor die Datenbankverbindung überhaupt aufgebaut wird.

Setup Schritt 0 - �berpr�fe System
Daher hat der Tipp leider nicht geholfen

Im Install Ordner sieht der entsprechende Teil per winscp ausgelesen so aus
  $anz = 'Setup Schritt 0 - Überprüfe System';

Wenn ich mir die Datei auf dem Webserver mit less anzeigen lasse, sieht sie so aus:
$anz = 'Setup Schritt 0 - <DC>berpr<FC>fe System';

Muß ich den Webserver evtl umkonfigurieren?
Maßgebende Einstellungen dürften wohl die sein, oder?
LANG=de_DE.UTF-8
LANGUAGE=de_DE:en_US:de_LU:de_CH:de_BE:de_AT


Sitki

Hallo :),

ZitatBei der Neuinstallation ist mir aber aufgefallen, daß bereits im Installer Zeichen falsch ausgegeben werden, noch bevor die Datenbankverbindung überhaupt aufgebaut wird.

das hier
$anz = 'Setup Schritt 0 - Überprüfe System';

ist zu finden in der
\pragmaMx_0.1.9.1\html\install\modules\New_Install\language\german.php

darin sind die Umlaute nicht als UTF-8 codiert! Deshalb werden die Umlaute nicht korrekt dargestellt, in der UTF-8 Anzeige.

ZitatMaßgebende Einstellungen dürften wohl die sein, oder?

Code:
LANG=de_DE.UTF-8

Nein, weil pragmaMx mit UTF-8 (noch) nicht funktioniert.

Ich schlage vor, gemäß meiner obigen Beschreibung, zunächst einmal deine DB auf die entsprechende Kollation (kein UTF8!) Voreinzustellen), danach pragmaMx vollständig auf deinen FTP-Server Hochladen, anschließend den Installationsvorgang aufrufen und durchführen. Hierbei darauf achten, dass je nachdem welchen Browser du einsetzt, keine Unicode (UTF-8) Codierung sondern Westeuropäisch (ISO) angewählt ist (sollte an für sich automatisch erfolgen).
viele Grüße

Kein Support über PN, Mail oder Messenger!
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!

maverik

mahlzeit

ZitatNein, weil pragmaMx mit UTF-8 (noch) nicht funktioniert.

sorry, das kann ich so nicht stehen lassen. bei mir läuft pragma einwandfrei mit utf8 in der datenbank.

siehe screen.

eventuell mal die browser config überprüfen


so long maverik

Sitki

Hallo :),

Vorsicht, nicht verwechseln!

1. Hier ist die Rede von utf8_unciode_ci für die Tabellenkollation in der Datenbank.
Zitatbsp. nicht die Kollation utf8_unicode_ci angewählt sein

2. Und hier geht es um die Sprachdateien.
Zitat\pragmaMx_0.1.9.1\html\install\modules\New_Install\language\german.php

darin sind die Umlaute nicht als UTF-8 codiert! Deshalb werden die Umlaute nicht korrekt dargestellt, in der UTF-8 Anzeige.

Hierzu bitte auch diese Threads lesen.
-> Umlaut- und Sonderzeichen-Schreibweise

-> Unicode-Zeichensätze

Zugegeben, kein einfaches Thema.
viele Grüße

Kein Support über PN, Mail oder Messenger!
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!

maverik

aloah,

ZitatVorsicht, nicht verwechseln!

1. Hier ist die Rede von utf8_unciode_ci für die Tabellenkollation in der Datenbank.

deshalb schrieb ich ja

Zitatmit utf8 in der datenbank.

meine datenbanken bzw mein mysqlserver arbeitet mit utf8 und ohne veränderung der sprachdateien lässt sich pragma einwandfrei installieren. habe zu meiner nrbw noch eine "spielpragmaseite" und ein neues projekt mit pragma grad erst vor 2 wochen installiert, alles ohne probleme.


so long maverik

sternchen

Zitat von: Atahan am 07 November 2007, 15:08:58

Ich schlage vor, gemäß meiner obigen Beschreibung, zunächst einmal deine DB auf die entsprechende Kollation (kein UTF8!) Voreinzustellen), danach pragmaMx vollständig auf deinen FTP-Server Hochladen, anschließend den Installationsvorgang aufrufen und durchführen. Hierbei darauf achten, dass je nachdem welchen Browser du einsetzt, keine Unicode (UTF-8) Codierung sondern Westeuropäisch (ISO) angewählt ist (sollte an für sich automatisch erfolgen).

Ich hatte es doch bereits so versucht, aber, wie geschrieben, ohne Erfolg.
Die Webseite sollte doch eigentlich dem Browser mitteilen welche Codierung verwendet wird. Jedenfalls funktioniert es weder mit Opera, noch Firefox, noch IE. (auch nicht nach manuellem Umstellen auf ISO)
Coppermine funktioniert auf dem gleichen Webserver ohne Probleme.


Sitki

Hallo :)

ZitatCoppermine funktioniert auf dem gleichen Webserver ohne Probleme
Was für eine Codierung steht denn in deiner Coppermine Sprachdatei drin?
$lang_charset = '?';

Es ist zu berücksichtigen, dass die aktuelle Coppermine 1.4.14 - steht für die pragmaMx Bridge noch nicht zum Download bereit - bereits UTF-8 codierte Sprachdateien beinhaltet.

Wie bereits erwähnt, arbeiten wir noch an der UTF-8 Umsetzung für pragmaMx, insbesondere auch der Sprachdateien.

Ein Link zur Seite wäre event. noch hilfreich.
viele Grüße

Kein Support über PN, Mail oder Messenger!
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!