Zum Inhalt springen

locallang und utf-8

Erstellt am 16. Oktober 2008 · 5 Antworten · letzte Antwort am 16. Oktober 2008

Tags: Datenbank, Frage

intensivstation ·

Ich habe meine Typo3-Installation von vornherein auf utf-8 eingestellt.
Also dazu gehört:

$TYPO3_CONF_VARS['BE']['forceCharset'] = 'utf-8';

und natürlich

  metaCharset = utf-8
  renderCharset = utf-8
  additionalHeaders = Content-Type:text/html;charset=utf-8
  notification_email_encoding = quoted-printable
  notification_email_charset = utf-8
  notification_email_urlmode = all

Alles läuft, bis auf eines: ALLE Texte aus locallang-Dateien werden nicht korrekt angezeigt.
Soll heissen, die Sonderzeichen werden nicht richtig angezeigt.
Stundenlang habe ich das www durchsucht und festgestellt, dass auch andere dieses Problem haben,
aber eine Lösung wird nirgendwo genannt. Gibt es den keine Lösung???

Wenn ich die locallangs mit der Extension "Language Editor (a4n_edit_locallang)" bearbeite,
werden die Sonderzeichen zumindest im Backend richtig angezeigt.
Die Extemsion "Language File Editor (lfeditor)" zeigt die Sonderzeichen auch im Backend nicht korrekt an...

tandem ·

Hallo intensivstation,

ich habe noch folgende Einträge gemacht:
[SYS][setDBinit] =
SET NAMES utf8;
SET CHARACTER SET utf8;
SET SESSION character_set_server = utf8;
SET character_set_connection = utf8;

[multiplyDBfieldSize] = 2

und die Datenbank angelegt mit unicode_ci

Vielleicht hilft Dir das weiter.

Gruss

tandem ·

Hallo intensivstation,

Wenn ein Client eine Verbindung herstellt, sendet er den Namen des Zeichensatzes,
den er verwenden will, an den Server. Der Server stellt auf der Basis dieses
Namens die Systemvariablen character_set_client, character_set_results und
character_set_connection ein. Im Endeffekt führt der Server
eine SET NAMES-Operation unter Verwendung des Zeichensatznamens aus.

(Quelle: http://dev.mysql.com/doc/refman/5.1/de/charset-connection.html)
Heisst also nichts anderes, als dass du hier nochmal explizit sagst
egal, was ankommt, es muss als utf8 verwendet werden.
Das gleiche gilt für SET SESSION character_set_server = utf8;
Hier sagst du mySQL, dass für die aktuell gültige Verbindung utf8 als
Zeichensatz verwendet werden soll.

Gruss

intensivstation ·

Also ich war mal so risikobereit und habe die [SYS][setDBinit] Werte gesetzt,
während das System schon benutzt wird.
Das hatte nur zur Folge, dass auch die Texte aus der DB nicht mehr richtig angezeigt werden.
Am besten hätte man das wohl am Anfang schon machen sollen, aber na ja... es läuft auch ohne.
Auf die locallang-Texte hatte es keine Auswirkungen.

tandem ·

Hallo intensivstation,

dann passe ich hier.
Ich selbst pflege alle halbe Jahre aus einer Access-Datenbank Daten in ein Typo3-Projekt ein.
Wenn der Auftrag kommt, bekomme ich regelmäßig eine Gänsehaut.
Sorry ...

Gruss