Problem mit zeichen codierung

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem mit zeichen codierung

    Hallo,

    ich habe einen webserver (Mac osx Server). Auf diesem läuft ein Script mit dem ich einen Fileserver scanne.
    Jetzt habe ich ein Problem mit dem Zeichensatz. Umlaute werden seltsam dargestellt bzw. auch so in die DB geschrieben.
    PHP-Code:
    : -> /
    ä -> ä
    ü 
    -> ü
    ö 
    -> ö
    Ä 
    ->Ä 
    Habe versucht meine Scripte mit utf8_codietung abzuspeichern.
    Habe utf8_decode bzw. utf8_encode probiert.

    phpinfo sagt: default_charset utf-8 no value.

    Leider weis ich nicht mehr wirklich weiter. Was muss ich machen, damit die Zeichen richtig dargestellt werden??

    Danke vorab
    Zuletzt geändert von kakktus; 20.06.2007, 09:29.

  • #2
    Erstmal raus finden was für ein Zeichensatz das ist, d.h.
    (Pseudocode, ich kann die dir-Funktionen nicht auswendig *zucks*)
    PHP-Code:
    while ($file $dir->read()) {
      echo 
    $file;

    und dann über Ansicht->Zeichenkodierung solange probieren bis die Umlaute richtig angezeigt werden

    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
    Wie man Fragen richtig stellt

    Kommentar


    • #3
      Hi,

      vielen Dank für deine Antwort.
      Das mit dem Umstellen habe ich schon gemacht. Stelle ich meinen Browser auf unicode(utf8), wird alles richtig dargestellt.

      Komischerweise funktioniert das, wie oben schon gesagt mit utf8 ecode bzw. decode nicht.

      bei utf8_encode siehts so -> aus Präsentation
      bei utf8_decode so -> Pra?sentation

      Woran liegt das??

      Kommentar


      • #4
        Versuch doch mal den Text bevor du ihn in die DB schreibst mit htmentities($text) umzuwandlen. Dann sollte es doch keine Probleme mehr mit Umlauten geben, oder?
        Der Mensch ist ein Tier das zuviel denkt!

        Kommentar


        • #5
          Hi,

          ne das ändert nichts.

          Kommentar


          • #6
            Du musst deine Seite auch in UTF8 ausliefern und die Datenbankverbindung umstellen.

            Such mal danach, es gibt soviele Beiträge dazu. dass kaum jemand noch Lust hat zu antworten
            ich glaube

            Kommentar


            • #7
              UTF8 ausliefern
              du meinst in utf8 abspeichern?? Habe ich ja gemacht.

              Momentan gebe ich mir die Sachen erst mal im Browser. Da sollte die Codierung doch richtig sein, oder??

              Ich habe ja auch schon einige Beiträge dazu gelesen bevor ich diesen Post eröffnet habe. Leider habe ich nichts gefunden, was mir weitergeholfen hat :-(

              Keine ahnung was ich noch versuchen soll.

              Kommentar


              • #8
                Guck nach, mit welcher Kodierung die Seite an den Browser geliefert wird. Das geht z.B. im Firefox mit Rechtsklick->Seiteninformationen anzeigen.
                ich glaube

                Kommentar


                • #9
                  Hi,
                  ok da sagt er mir Kodierung -> ISO-8859-1 wie kommt das??
                  Selbst wenn ich die Datei als utf8 abspeichere?? verstehe ich nicht.

                  Kommentar


                  • #10
                    Dann such danach. Es hatten schon tausende Leute vor dir dieses Problem.

                    Du musst einen meta-Tag setzen und / oder einen PHP-header ausgeben und / oder dem Server die Standardkodierung beibringen.
                    ich glaube

                    Kommentar


                    • #11
                      Original geschrieben von haSta
                      Versuch doch mal den Text bevor du ihn in die DB schreibst mit htmentities($text) umzuwandlen.
                      Niemals Entities in eine Datenbank schreiben. Die haben da nichts drin zu suchen (außer es ist eine temporäre Tabelle).

                      Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                      bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                      Wie man Fragen richtig stellt

                      Kommentar


                      • #12
                        hi,

                        also mit dem header funktioniert. Aber nur für die Ausgabe. In die DB wird es trotzdem falsch kodiert geschrieben.

                        Kommentar


                        • #13
                          SET NAMES
                          Suchfunktion.

                          Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                          bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                          Wie man Fragen richtig stellt

                          Kommentar


                          • #14
                            Ah super danke...das war der richtige befehl
                            Jetzt gehts!

                            Kommentar


                            • #15
                              Ich misch mich mal dazwischen, da ich ähnliche Probleme habe.

                              Und zwar mache ich eine multilinguale Plattform (auch chinesisch etc.) für einen Kunden fertig und habe mich daher für UTF8 entschieden, was ich aber total vergessen hatte, war den meta tag entsprechend anzupassen. Nun habe ich schon einige Texte fertiggestellt und eben erst den Fehler gemerkt.

                              Nun ist Dreamweaver zwar in der Lage UTF8 codierte Dateien entsprechend zu verarbeiten, aber Dateien, die bereits in ISO gespeichert wurden, wieder in UTF8 umzuwandeln gestaltet sich etwas komplizierter.

                              Ich muss derzeit hingehen und den meta tag irgendwo in der Datei einmal einfügen und neu abspeichern:
                              PHP-Code:
                              <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> 
                              Danach kann ich ihn rausnehmen, aber ich hab nicht wirklich die Lust, dass bei jeder Datei zu machen.

                              Gibt es ein Tool womit man mehrere php Files in UTF8 wandeln kann? Damit wäre mir wirklich geholfen.

                              Gruß
                              Marc
                              mein Honda Forum | meine Scripte

                              Kommentar

                              Lädt...
                              X