Erweiterungen & Templates für Joomla     Support Chat     JoomlaJobs    

   

 

Zurück   Joomla CMS Support Forum > Joomla.de Arbeitsgruppen > Beta HowTos
Benutzername
Kennwort
Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Ansicht

  #1 (permalink)
Alt 07.11.2005, 16:53
Joomla Supporter
 
Benutzerbild von colibri
 
Registriert seit: 24.08.2005
Ort: Aachen
Beiträge: 135
Bedankte sich: 4
58 Danksagungen in 18 Beiträgen
Standard Joomla komplett mir Charset UTF-8 konfigurieren

Warum überhaupt utf-8? (Eilige und Kenner lesen gleich im zweiten Beitrag weiter)

Als Webentwickler kennt man ja das Thema Umlaute und Sonderzeichen. Für ein französisches Zitat auf der Webseite, griechische Formelzeichen etc. hieß die Lösung lange Zeit: "Entities". Jene kryptischen Wesen, aus denen Browser dann die begehrten Zeichen machen, die im ASCII Zeichensatz nicht zu finden sind. Mit Entities sind jedoch auch Probleme verbunden, etwa was die Suchfunktion betrifft. Ich will da nicht weiter drauf eingehen und verweise auf http://www.joomlaportal.de/allgemein...hlight=unicode.

Technisch gesehen ist der Notbehelf "Entities" Geschichte, denn es gibt Unicode (utf-8), ein Zeichensatz, in dem die wichtigsten Sprachzeichen dieser Welt an vereinbarten Stellen untergebracht sind. Gängige Browser können diesen Zeichensatz darstellen, es gibt also imo keinen Grund mehr, sich irgendwelcher Krücken zu bedienen. Jeder schreibt mit seinen Zeichen und genau so steht's auch in der Datenbank. Im Zeichen des Zusammenrückens der Nationen sind verschiedensprachige Textpassagen auf ein und derselben Seite möglich, Beiträge, die das Wort "среди" enthalten, werden ohne Weiteres gefunden, wenn danach gesucht wird. Genau deshalb gibt es Unicode. Leider dauert es immer ein bischen, bis sich solche Dinge herumsprechen und durchsetzen. Auch Joomla spricht nicht von sich aus utf-8, kann's aber.

Eigentlich braucht man in der Joomla Sprachdatei und in seinem Template nur zu sagen: "Diese Seite ist utf-8 codiert". Fertig. Ähm, ja, - falls es schon Daten gibt, müssen die vorher noch in Unicode umgewandelt werden. Ach so, dasselbe gilt natürlich auch für alle Quellen, aus denen die Seite vom System aufgebaut wird. Und da wird's zugegeben aufwändig, vor allem, wenn man zahlreiche Komponenten und Module nutzt. Irgendwann wird alles von vornherein utf-8 kodiert sein. Derzeit ist halt noch Handarbeit angesagt, die sich aber nach meiner Auffassung lohnt.

Ich versuche, im Folgenden alle Schritte zusammenzufassen, die für eine erfolgreiche Konfiguration Joomla! in utf-8 notwendig sind. Die Hinweise sind nicht alle auf meinem Mist gewachsen, sondern es sind viele Fundstellen dabei, im Wesentlichen aus diesem Forum, aber auch aus anderen Quellen. Die Zusammenfassung wird von mir regelmäßig aktualisiert, damit man sich nicht durch den kompletten Thread wühlen muss (obwohl er ja lesenswert ist ;-).

gruß
colibri

EDIT Holmi:
Ich habe noch einen sehr guten Link zum Thema gefunden:
http://www.mysqldumper.de/board/viewtopic.php?t=2313

Geändert von holmi (27.10.2007 um 20:57 Uhr).
colibri ist offline   Mit Zitat antworten
  #2 (permalink)
Alt 07.11.2005, 19:39
Joomla Supporter
 
Benutzerbild von colibri
 
Registriert seit: 24.08.2005
Ort: Aachen
Beiträge: 135
Bedankte sich: 4
58 Danksagungen in 18 Beiträgen
Standard Vorgehensweise

Joomla! Developer Blog zu UTF-8 in Joomla 1.0.x

1. Werkzeug
Was man bei der ganzen Sache unbedingt braucht, ist ein Editor, der einen Text überhaupt utf-8 codiert speichern kann - man sieht dem Text seine Codierung ja nicht an und vorhandene Umlaute sind selbstverständlich noch kein Indiz. In Linux Distributionen zahlreich mitgeliefert, muss man sich unter Windows erst mal einen geeigneten Editor besorgen. Z.B. SuperEdi (http://www.wolosoft.com/de/superedi/) oder meine Wahl, weil schlank und schön: Notepad2 (http://www.flos-freeware.ch/notepad2.html), den ich einfach gegen das Redmond Notepad.exe ausgetauscht habe. Gibt natürlich noch mehr geeignete Editoren...

2. Datenbank: Vorhandene Daten nach utf-8 konvertieren
Hat man eine bereits laufende Seite, müssen die exitstieren Daten zunächst umkodiert werden. Das macht man am besten lokal. Allgemeine Vorgehensweise:
  1. Daten aus Datenbank exportieren (sog. Datenbankdump). Eine sehr schöne Anleitung gibt es bei Wordpress (überhaupt empfehlenswert) unter http://doku.wordpress.de/Backup_der_...ank/phpMyAdmin. Das dort gezeigt Beispiel kann so übernommen werden, mit Ausnahme des Häkchens bei "AUTO_INCREMENT-WERT hinzufügen". Das kann weg.
  2. Die Entities in echte Zeichen umwandeln. Im Wesentlichen geht's bei deutschsprachigen Texten um die Umlaute aber auch zahlreiche weitere Zeichen wie Gänsefüßchen oder Zitate aus anderen Sprachen können vorkommen. Die Trialversion des Unifier, http://www.melody-soft.com/html/unifier.html, ist hier ganz praktisch, weil sie sämtliche Entities in einem Rutsch konvertiert (die Datei muss noch mit der Endung ".php" umbenannt werden, da *z.B eine myDump.txt o.ä. nicht konvertiert wird).
  3. Die Textdatei utf-8 kodiert abspeichern.
  4. Anschließend den Dump wieder hochspielen. Z.B. über phpMyAdmin, SQL Befehl als hochgeladene Datei ausführen.

Bei Neuinstallation entfällt der Punkt Datenbankkonvertierung natürlich.

3. Joomla Sprachdateien anpassen, so dass sie auch wirklich utf-8 kodiert sind)
In den Sprachdateien "language\german.php sowie in "language\english.php" muss der CharSet auf utf-8 gesetzt werden. ~ in Zeile 399 mit
Zitat:
DEFINE('_ISO','charset=utf-8');
Beide Sprachdateien müssen utf-8 kodiert gespeichert werden. Für die Sprachdatei "language\english.php gilt das deshalb auch, weil sie im englischsprachigen Adminbereich genutzt wird, z.B. wenn man Menüs oder Beitragstitel erstellt. Mit unveränderter english.php werden diese Menüeinträge, Beitragstitel, etc falsch codiert in die Datenbank geschrieben. Umlaute erscheinen dann als komische Zeichen.

4. Im Template sagen: "Diese Seite ist utf-8 kodiert"
In der index.php des Templates trägt man im Header ein:
Zitat:
<meta **********="Content-Type" content="text/html; <?php echo _ISO; ?>" />
Das "echo _ISO" schreibt also die in der Sprachdatei definierte Codierung ins Template. Zusätzlicher Hinweis dazu von DerBerliner: Das hat bei mir nicht gereicht, der IE stellt immer wieder auf Westeuropäisch um und zerhaut dann sogar die Umlaute. Erst mit der Zeile:
Zitat:
<meta **********="Content-Type" content="text/html" charset="utf-8" >
und zwar ganz nach oben in den head Bereich, funktionierts einwandfrei. Auch beim Hin- und Herschalten zwischen den Sprachen per Mambelfish.

5. Language Files der eingebundenen Komponenten ebenfalls nach utf-8 konvertieren.
Komponenten, Module, Mambots haben in der Regel eigene Sprachfiles, die ebenfalls konvertiert werden müssen. Entities müssen zunächst in Umlaute etc. umgewandelt werden, so dass man die Texte wieder normal lesen kann. Anschließend alles markieren und ausschneiden. Dann das Dokument in utf-8 umkonvertieren, den Text aus der Zwischenablage wieder einfügen und sichern, abschließend uploaden.

Geändert von colibri (22.01.2006 um 11:59 Uhr).
colibri ist offline   Mit Zitat antworten
  #3 (permalink)
Alt 07.11.2005, 19:54
Joomla Supporter
 
Benutzerbild von colibri
 
Registriert seit: 24.08.2005
Ort: Aachen
Beiträge: 135
Bedankte sich: 4
58 Danksagungen in 18 Beiträgen
Standard Komponenten und Module

FacileForms
Falls in Facile Forms die Auswahllisten falsch angezeigt werden, gibt es im FF-Forum einen Patch: Download.

mosCE
utf-8 formatierte language-files für den mosCE bietet bananajoe2k4 zum Download an.

Außerdem soll mosCE Umlaute und andere Sonderzeichen nicht mehr in Entities umwandeln. Hierfür trägt man in Datei mambots/editors/mosce.php ab Zeile 150 folgende Zeile ein:
PHP-Code:
entity_encoding "raw"
gruß
colibri

EDIT: Im JCE ist die Änderung nicht mehr notwendig. Man kann in der Konfiguration wählen ob in Entities bzw. Numerisch umwandelt wird oder ob Rohdaten gespeichert werden sollen. Für die UTF-8 Umstellung ist die Auswahl "Raw" (bzw. "Rohdaten" in der deutschen Version) die richtige.
Holmi

Geändert von colibri (20.01.2006 um 13:11 Uhr).
colibri ist offline   Mit Zitat antworten
Erhielt Danksagungen von:
  #4 (permalink)
Alt 06.12.2005, 22:33
Joomlaking
 
Registriert seit: 05.09.2005
Ort: Nürnberg
Beiträge: 649
Bedankte sich: 48
29 Danksagungen in 26 Beiträgen
mamboklaus eine Nachricht über ICQ schicken
Standard bei events tritt der gleiche Mist auf

Irgendwie checke ich es nicht... es mus an den Servern liegen, oder an der Versioneen von php, sql or what ever..
die Komonente event calender macht mir auch Kopfzerbrechen, alles geht soweit, nur beim even calender kömmt statt ? das ? das gleiche übrigens auch beim TMedit...... ziemlich verwirrend, ich weiß nimmer was ich tun soll,
Grein
mamboklaus ist offline   Mit Zitat antworten
  #5 (permalink)
Alt 06.12.2005, 22:41
Joomla Supporter
 
Benutzerbild von colibri
 
Registriert seit: 24.08.2005
Ort: Aachen
Beiträge: 135
Bedankte sich: 4
58 Danksagungen in 18 Beiträgen
Standard

Hast Du den Rat von cps gesehen?
Zitat:
Der Server gibt keine utf-8 kodierten Dateien aus, folgendes in die .htaccess einfügen:
Code:
AddCharset utf-8 oder AddDefaultCharset utf-8

Geändert von colibri (06.12.2005 um 22:45 Uhr).
colibri ist offline   Mit Zitat antworten
  #6 (permalink)
Alt 06.12.2005, 22:44
Joomla Supporter
 
Benutzerbild von colibri
 
Registriert seit: 24.08.2005
Ort: Aachen
Beiträge: 135
Bedankte sich: 4
58 Danksagungen in 18 Beiträgen
Standard

Haben die Komponenten, die Du verwendest nicht Sprachfiles, die man dann wahrscheinlich umstellen müsste?
colibri ist offline   Mit Zitat antworten
  #7 (permalink)
Alt 06.12.2005, 22:54
Joomlaking
 
Registriert seit: 05.09.2005
Ort: Nürnberg
Beiträge: 649
Bedankte sich: 48
29 Danksagungen in 26 Beiträgen
mamboklaus eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von colibri
Haben die Komponenten, die Du verwendest nicht Sprachfiles, die man dann wahrscheinlich umstellen müsste?
ja.. hamse...... das nette ist:
die german.php von event komponente schreib z.b. Veröffentlichung
die german.php von Joomla! schreibt...: dafür: Ver&ouml;ffentlichung
sagt uns das was...??? das mit dem add.. in htacess probier ich ma..
mamboklaus ist offline   Mit Zitat antworten
  #8 (permalink)
Alt 06.12.2005, 23:09
Administrator
 
Benutzerbild von MadeMyDay
 
Registriert seit: 17.11.2004
Ort: Karlsruhe
Beiträge: 2,438
Bedankte sich: 25
285 Danksagungen in 169 Beiträgen
Standard

Hi Klaus, ein paar Satzzeichen und Interpunktion allgemein wären hilfreich beim Verstehen Deiner Postings

No offense!

@colibri: Danke für Deine Mühen!

Gruß Marc
__________________
Wenn mal einer sucht, wird er es auch finden... wenn denn mal einer die Suche findet.
MadeMyDay ist offline   Mit Zitat antworten
  #9 (permalink)
Alt 06.12.2005, 23:24
Joomlaking
 
Registriert seit: 05.09.2005
Ort: Nürnberg
Beiträge: 649
Bedankte sich: 48
29 Danksagungen in 26 Beiträgen
mamboklaus eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von MadeMyDay
Hi Klaus, ein paar Satzzeichen und Interpunktion allgemein wären hilfreich beim Verstehen Deiner Postings

No offense!

@colibri: Danke für Deine Mühen!

Gruß Marc
sorry:-)
Also:
die Event Komponente komt mit ner eigenen german.php an, dort habe ich festgestellt, dass keine entities(richtig??) verwendet werden, also das Wort Veröffentlichung, kommt als Veröffentlichung((Im Code)-Im Gegensatz dazu, kommt die german.php von Joomla, also die deutsche Sprachdatei mit Entities, also das Wort Veröffentlichung wird als Ver&ouml;ffentlichung dargestelt(Im Code)
Da ich nichts von diesen Feinheiten verstehe, dachte ich mir, das könnte ein Hinweis auf die Problematik sein, die ich entdeckte, also das eventkalender seine eigenen Übersetzungen falsch darstellt, also Veröffentlichung als Ver?ffentlichung
ALLES andre was ich erfasse passt mit den Umlauten....
Ichbin nur ziemlich am Ende meines LAteins, deshalb vielleicht di eleicht verzweifelte Schreibweise:-)




die german.php von event komponente schreib z.b. Veröffentlichung
die german.php von Joomla! schreibt...: dafür: Ver&ouml;ffentlichung
sagt uns das was...??? das mit dem add.. in htacess probier ich ma..
mamboklaus ist offline   Mit Zitat antworten
  #10 (permalink)
Alt 07.12.2005, 00:00
Joomla Supporter
 
Benutzerbild von colibri
 
Registriert seit: 24.08.2005
Ort: Aachen
Beiträge: 135
Bedankte sich: 4
58 Danksagungen in 18 Beiträgen
Standard

@marc: gern geschehen.

@mamboklaus: was man bei der ganzen Sache natürlich unbedingt braucht, ist ein Editor, der einen Text überhaupt utf-8 codiert speichern kann - man siehts dem Text seine Codierung ja nicht an und vorhandene Umlaute sind selbstverständlich noch kein Indiz. In Linux Distributionen zahlreich mitgeliefert, muss man sich unter Windows erst mal einen geeigneten Editor besorgen. Z.B. SuperEdi (http://www.wolosoft.com/de/superedi/) oder meine Wahl, weil schlank und schön: Notepad2 (http://www.flos-freeware.ch/notepad2.html), den ich einfach gegen das Redmond Notepad.exe ausgetauscht habe. Gibt natürlich noch mehr geeignete Editoren...

gruß
colibri

Geändert von colibri (07.12.2005 um 00:04 Uhr).
colibri ist offline   Mit Zitat antworten
Erhielt Danksagungen von:
Werbung
Antwort


Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
integrieren des SMF Bridge in joomla 1.0 vader Joomla Module 25 12.03.2007 23:11
HILLFFEE!!! Joomla komplett abgeschossen... ralf3b Allgemeine Fragen zu Joomla 9 10.10.2005 00:19
Installation Joomla 1.0.2 KaffDaddy Fertige Howtos 1 05.10.2005 17:32
Hallo ich suche jemanden der mir per Skype Joomla zeigen kann. agentur-zeitgeist Mitarbeitersuche bzw. Hilfe für nicht-kommerzielle Projekte 3 29.09.2005 13:57
Mambo und joomla ?? kann mir einer erklären !! kfabian Off Topic 6 23.09.2005 16:04



Alle Zeitangaben in WEZ +2. Es ist jetzt 20:13 Uhr.

Powered by vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.2
vBulletin Style by: vbdesigns.de
Copyright 2005 by Stefan Köller