Umstellung auf UTF-8

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von Steglich, 27.04.2006.

  1. Steglich

    Steglich Thread Starter MacUser Mitglied

    Beiträge:
    206
    Zustimmungen:
    0
    MacUser seit:
    30.05.2003
    Im Zeichen der Europäisierung bin ich dabei mein CMS, das ich mit PHP4 und SQL5 programmiert habe, auf utf-8 umzustellen. Jetzt gibt es dazu hier im Forum schon einige Informationen, aber mit keiner komme ich zu einer Lösung.

    Hier einmal mein Vorgehen:
    1. Die Dateien werden in utf-8 kodiert (mit SubEthaEdit wunderbar einzustellen).
    2. Im Header wird
    HTML:
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    eingefügt, damit die Browser es auch richtig lesen können.
    3. In der SQL Datenbank werden die CHARACTER SET auf utf8 gesetzt (mit dem ALTER DATABASE und ALTER TABLE Befehlen und oder mit phpMyAdmin).

    Dennoch habe ich ein Problem mit dem Server bei 1und1, denn die Umlaute werden nicht richtig dargestellt.

    Da habe ich einmal mit phpinfo() den Server überprüft, und dort sind folgende Variablen auf ISO-8859-1 gesetzt: conv.input_encoding, iconv.internal_encoding, iconv.output_encoding, idn.default_charset .

    Muss ich diese Variablen ändern und wenn ja wie und auf welchen Wert?
     
  2. oneOeight

    oneOeight MacUser Mitglied

    Beiträge:
    46.832
    Zustimmungen:
    3.633
    MacUser seit:
    23.11.2004
    du musst im php mysql code noch die client collation setzen...
    eine query mit SET NAMES UTF8
    die steht sonst standardmässig auf latin1-swedish...
    vielleicht musst du auch noch php-mysqli verwenden...
     
  3. Steglich

    Steglich Thread Starter MacUser Mitglied

    Beiträge:
    206
    Zustimmungen:
    0
    MacUser seit:
    30.05.2003
    php Variablen

    Habe es mit den PHP Variablen versucht:
    PHP:
    ini_set('iconv.input_encoding''utf-8');
    ini_set('iconv.internal_encoding''utf-8');
    ini_set('iconv.output_encoding''utf-8');
    ini_set('idn.default_charset''utf-8');
    und es funktioniert mit diesen Variablen auch nicht.

    @oneOeight:
    Habe es auch mit
    PHP:
    mysql_query("SET NAMES UTF8");
    versucht. Und ...

    ... es funktioniert, super danke.
     
  4. Steglich

    Steglich Thread Starter MacUser Mitglied

    Beiträge:
    206
    Zustimmungen:
    0
    MacUser seit:
    30.05.2003
    MySQL Reference

    Jetzt habe ich auch den entsprechenden Link in der MySQL Reference gefunden:
    http://dev.mysql.com/doc/refman/5.0/en/charset.html
    ganz unten auf der Seite ;-)

    Muss ich diese query nach jeder Datenbankverbindung einfügen?
    Gibt es nicht die Möglichkeit, dass man dies einmal global setzt?
     
Die Seite wird geladen...

Diese Seite empfehlen