Kalle_B: Problem mit Umlauten - Dateieinträge geändert

Hallöle,

ich hatte am 16.05. mein Problem mit den Umlauten auf einem Debian- Server geschildert, die beim Weg in die Datenbank MySQL und wieder heraus auf eine HTML- Seite umcodiert werden:
http://forum.de.selfhtml.org/archiv/2007/5/t152448/#m991519

Die Zeichencodierung stand im FF auf UTF-8, obwohl ich im HTML- header ISO-8859-1 angegeben habe.

Jetzt habe ich zwei Dateieinträge des Servers geändert:
/etc/apache2/conf.d/charset
alt: AddDefaultCharset UTF-8
neu: # AddDefaultCharset UTF-8
     AddDefaultCharset ISO-8859-1

/etc/php5/apache2/php.ini
alt: ;default_charset = "iso-8859-1"
neu: default_charset = "iso-8859-1"

Keine Änderung, Zeichencodierung immer noch UTF-8. Habe ich nicht die richtigen Dateien getroffen? Oder wenn ja, muss irgendwas neu hochgefahren werden?

Gruß, Kalle

  1. Lieber Kalle_B,

    Habe ich nicht die richtigen Dateien getroffen? Oder wenn ja, muss irgendwas neu hochgefahren werden?

    ... Server übernehmen veränderte Konfigurationen zumeist erst nach einem Neustart des Dienstes.

    Liebe Grüße aus Ellwangen,

    Felix Riesterer.

    --
    ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
    1. Hallo,

      die Seite
      http://dev.mysql.com/doc/refman/5.1/de/charset-connection.html

      verrät, wie man diverse Einstellungen sehen kann.

      Mit SHOW VARIABLES LIKE 'character_set%';

      ergibt sich dieses im phpmyadmin:

      Variable_name            Value
      ------------------------ --------
      character_set_client     utf8
      character_set_connection utf8
      character_set_database   latin1
      character_set_filesystem binary
      character_set_results    utf8
      character_set_server     latin1
      character_set_system     utf8
      character_sets_dir       /usr/share/mysql/charsets/

      Wenn doch klar ist, dass der Server auf latin1 und der client auf utf8 steht, woher kommen dann meine Probleme?

      Welchen Zeichensatz sendet diese Form denn ab, wenn FF- Zeichencodierung auf UTF-8 steht, aber <meta http-equiv="content-type" content="text/html; charset=UTF-8">

      <FORM name=form_p102 action='/tm3/tm_manager.php' method='post'>

      Kalle

      1. character_set_client     utf8
        character_set_connection utf8
        character_set_database   latin1
        Wenn doch klar ist, dass der Server auf latin1 und der client auf utf8 steht, woher kommen dann meine Probleme?

        Deine Tabelle steht auf "Latin1", die Verbindung auf "utf8". Da würde ich mich nicht über Umlautprobleme wundern.

        Welchen Zeichensatz sendet diese Form denn ab, wenn FF- Zeichencodierung auf UTF-8 steht, aber <meta http-equiv="content-type" content="text/html; charset=UTF-8">

        Sieht nach UTF-8 aus. Deine Tabelle ist aber in ISO 8859. Das muss m.E. schiefgehen.

        Siechfred

        --
        Ein Selbständiger ist jemand, der bereit ist, 16 Stunden am Tag zu arbeiten, nur um nicht 8 Stunden für einen Anderen arbeiten zu müssen.
        1. echo $begrüßung;

          character_set_client     utf8
          character_set_connection utf8
          character_set_database   latin1
          Wenn doch klar ist, dass der Server auf latin1 und der client auf utf8 steht, woher kommen dann meine Probleme?

          Deine Tabelle steht auf "Latin1", die Verbindung auf "utf8". Da würde ich mich nicht über Umlautprobleme wundern.

          Nein, da muss man sich wirklich nicht wundern, denn das sind nur Default-Angaben, die für aktuelle Probleme nicht unbedingt eine direkte Rolle spielen. Ich habe aber momentan keine Lust, das ganze Prinzip nochmal zu erklären. Kalle_B als Forum-Stammnutzer kann ja auch mal das hiesige Archiv und die schon oft verlinkte MySQL-Dokumentation zum Thema Character Set Support zu Rate ziehen.

          Sieht nach UTF-8 aus. Deine Tabelle ist aber in ISO 8859. Das muss m.E. schiefgehen.

          Es interessiert letzten Endes nur die Kodierung der betroffenen Felder. Ist diese eine andere als die der aktuellen Verbindung, nimmt MySQL automatisch Konvertierungen vor. Dabei kommt es nur dann zu Datenverlust, wenn man Zeichen verwendet, die über das kleinste gemeinsame Vielfache der beteiligten Kodierungen hinausgehen.

          echo "$verabschiedung $name";