locallang und utf-8

  • intensivstation intensivs...
    Sternenflotten-Admiral
    0 x
    202 Beiträge
    0 Hilfreiche Beiträge
    16. 10. 2008, 14:44

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

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

    und natürlich
    [TS]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[/TS]
    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...


  • 1
  • tandem tandem
    Jedi-General
    0 x
    1053 Beiträge
    1 Hilfreiche Beiträge
    16. 10. 2008, 14:50

    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

  • intensivstation intensivs...
    Sternenflotten-Admiral
    0 x
    202 Beiträge
    0 Hilfreiche Beiträge
    16. 10. 2008, 15:16

    An der DB habe ich keine Änderungen vorgenommen.
    Die locallang-Dateien sollten ja eigentlich auch nichts mit der DB zu tun haben, oder?

  • tandem tandem
    Jedi-General
    0 x
    1053 Beiträge
    1 Hilfreiche Beiträge
    16. 10. 2008, 15:37

    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 intensivs...
    Sternenflotten-Admiral
    0 x
    202 Beiträge
    0 Hilfreiche Beiträge
    16. 10. 2008, 15:54

    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 tandem
    Jedi-General
    0 x
    1053 Beiträge
    1 Hilfreiche Beiträge
    16. 10. 2008, 16:04

    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

  • 1