Charset & Umlaute

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Charset & Umlaute

    Hallo, ich habe zur Zeit viele Probleme mit den Umlauten (ist deutsch nicht eine beknackte sprache?).

    Undzwar kann mir jemand sagen wie ich meine MySQL-Datenbank so konfigurieren kann, das sie NUR UTF8 kann (kein utf8_bin, utf8_general_ci) nur utf8. Dessweiteren scheint mein Webserver (Apache) da auch nicht zu können... Problem ist, wenn ich was aus der DB hohle, mit umlaut... Dann wird das im Browser nicht richtig angezeigt. (in der db steht ö,ä,ü). Kann mir da jemand helfen das in den Griff zu bekommen?

    so long

    JFoX
    Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert, der letzte Netzknoten kommerzialisiert, die letzte Newsgroup moderiert wird, werdet Ihr merken, dass man mit Geld allein nicht programmieren kann.
  • Moin

    Die Datenbank sollte nicht das Problem sein, eher dein Apache.
    Dieses Problem umgeht man meistens mit einer replace Funktion.

    Ich geh mal davon aus, dass du irgendwas mit PHP am machen bist.

    Kannst dir dann so ne Funktion schreiben

    Quellcode

    1. function umlaut($text) {
    2. $char = '/ä/';
    3. $replace = 'ä';
    4. $text = preg_replace($char, $replace, $text);
    5. .......
    6. }


    Gruss
    Ubuntu Edgy * Kernel 2.6.17 * Gnome 2.16 * Beryl
    2 x Athlon MP 1900 * MSI K7D Master-L * 1024 MB ECC DDR333
    Hercules 9800XT 256 MB Ram * 1x 250 GB IDE
    Wasserkühlung
  • Habe ich auch schon überlegt, ist meiner meinung nach einer der letzten lösung, weil ich davon nicht viel halt.... der Webser muss ja in der Lage sein umlaute darzustellen.

    Apache:
    AddDefaultCharset utf-8
    HTML:
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
    Dataenbank:
    ist auch alles UTF8

    Problem ist das der Webserver keine Umlaute kann... Weiß auch nicht was ich noch ändern soll das er es kann.
    Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert, der letzte Netzknoten kommerzialisiert, die letzte Newsgroup moderiert wird, werdet Ihr merken, dass man mit Geld allein nicht programmieren kann.
  • "JFoX" schrieb:

    Habe ich auch schon überlegt, ist meiner meinung nach einer der letzten lösung, weil ich davon nicht viel halt.... der Webser muss ja in der Lage sein umlaute darzustellen.

    Apache:
    AddDefaultCharset utf-8
    HTML:
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
    Dataenbank:
    ist auch alles UTF8

    Problem ist das der Webserver keine Umlaute kann... Weiß auch nicht was ich noch ändern soll das er es kann.


    1.) Bis Du Dir sicher, das die DB auch wirklich UTF-8 zurück liefert? Nur weil die DB UTF-8 speichert, heist noch nicht automatisch. das die Kommunikation zwischen Client und DB auch in UTF-8 abläuft.

    2.) Kann Dein Server denn auch wirklich UTF-8? Also nicht der Webserver, sondern der Rechner, auf dem der Webserver läuft. Auf einem Linux-Rechner musst Du evtl. die entsprechende Locale nach-installieren.

    70abc
    We raise hopes, here ... until they're old enough to fend for themselves.
    - Mike Callahan
  • Der Server kann zu 100% UTF-8, weil er NUR UTF-8 kann :)

    Quellcode

    1. LANG=en_US.UTF-8
    2. LC_CTYPE="en_US.UTF-8"
    3. LC_NUMERIC="en_US.UTF-8"
    4. LC_TIME="en_US.UTF-8"
    5. LC_COLLATE="en_US.UTF-8"
    6. LC_MONETARY="en_US.UTF-8"
    7. LC_MESSAGES="en_US.UTF-8"
    8. LC_PAPER="en_US.UTF-8"
    9. LC_NAME="en_US.UTF-8"
    10. LC_ADDRESS="en_US.UTF-8"
    11. LC_TELEPHONE="en_US.UTF-8"
    12. LC_MEASUREMENT="en_US.UTF-8"
    13. LC_IDENTIFICATION="en_US.UTF-8"
    14. LC_ALL=
    Alles anzeigen


    zb.: in der DB steht löschen -> selecte ich das feld mit dem inhalt erscheint auf dem brwoser kein <ö>.
    Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert, der letzte Netzknoten kommerzialisiert, die letzte Newsgroup moderiert wird, werdet Ihr merken, dass man mit Geld allein nicht programmieren kann.
  • so klappt

    Lösung:
    in der apache.conf AddDefaultCharset iso-8859-1 eintragen dann werden umlaute angezeigt.
    Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert, der letzte Netzknoten kommerzialisiert, die letzte Newsgroup moderiert wird, werdet Ihr merken, dass man mit Geld allein nicht programmieren kann.
  • "JFoX" schrieb:

    so klappt

    Lösung:
    in der apache.conf AddDefaultCharset iso-8859-1 eintragen dann werden umlaute angezeigt.


    Wenn das Deine Lösung war/ist, dann liefert Deine Datenbank kein UTF-8, oder die Daten werden irgendwo vor dem Darstellen in der HTML-Seite in ISO-8859-1 konvertiert!

    70abc
    We raise hopes, here ... until they're old enough to fend for themselves.
    - Mike Callahan