UTF-8 ohne utf8_encode()

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

  • UTF-8 ohne utf8_encode()

    Hallo liebes Forum,

    ich war gestern schon länger auf der Suche nach einer Lösung für dieses Problem, wurde leider jedoch nicht fündig.

    Ich suche nach einer Möglichkeit Zeichenketten mit Sonderzeichen ohne den Befehl utf8_encode weiterzuverarbeiten. Dazu zählt auch z.B. die richtige Ausgaben von

    PHP-Code:
    echo("TEXT: äöüß"); 
    Momentan erscheint bei mir eine Ausgabe ähnlich "TEXT: [][][]", die Umlaute werden also als Hieroglyphen dargestellt.

    Ich habe jedoch schon in der PHP.ini UTF-8 als Default Charset eingestellt:
    Code:
    default_charset = "UTF-8"
    Zusätzlich dazu habe ich, obwohl eigentlich durch die Einstellung in der PHP.ini nicht notwendig, die header Information als ersten Befehl im PHP-Script auch schon ausgegeben:

    PHP-Code:
    header('content-type: text/html; charset=utf-8'); 
    Jetzt weiß ich eigentlich nicht mehr so richtig weiter.
    Ich hoffe mir kann jemand bei meinem Problem weiterhelfen :-)

    Folgende Entwicklungsumgebung wird eingesetzt:
    Apache 2.2.8 Webserver mit PHP 5.2.0 auf einem Windows XP Entwicklungsrechner

    Vielen Dank im voraus!!

  • #2
    Naja, wenn deine Umlaute nicht in UTF-8 vorliegen, musst du diese Konvertieren. Das Setzen des Headers ändert an der Kodierung der Zeichen herzlich wenig!
    PHP-Code:
    echo utf8_encode("TEXT: äöüß"); 
    Liefert dir das gewünschte Ergebnis! Alternativ kannst du auch deine Quelldateien in UTF-8 ablegen (würde ich aber nur bedingt empfehlen!).

    Kommentar


    • #3
      Hallo und vielen Dank für deine Antwort!!

      Was heißt nur bedingt empfehlen?

      Da es sich bei meiner Anwendung um ein Datenbankfrontend für das Firmeninterene Intranet handelt, dürften Webservereinstellungen z.B. kein Problem darstellen.

      Wie legt man seine Quelldatei mit UTF-8 ab?

      Vielen Dank!

      Kommentar


      • #4
        Liefert dir das gewünschte Ergebnis! Alternativ kannst du auch deine Quelldateien in UTF-8 ablegen (würde ich aber nur bedingt empfehlen!).
        Wie kommst du zu der Annahme das sei nur bedingt zu empfehlen?
        Wie legt man seine Quelldatei mit UTF-8 ab?
        In dem du sie mit dem Editor deiner wahl entsprechend abspeicherst
        Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

        Kommentar


        • #5
          Wie kommst du zu der Annahme das sei nur bedingt zu empfehlen?
          Ich hatte schon ein paar mal das Problem bei Kunden, die schnell mal eine Änderung im Code vornehmen wollten und dann die Datei im falschen Zeichensatz gespeichert haben. Auch funktioniert das Arbeiten im WebFTP nicht vernünftig. Darum sind die Quelldateien bei mir immer ASCII und alle Seiteninhalte liegen in Extradateien in UTF-8 vor. Da es sich dabei meist eh um Gettext-Dateien handelt, muss Quellcode und I18N-Datei eh getrennt liegen. So hab ich keine Probleme mit Zeichensätzen!

          Kommentar


          • #6
            Vielen Dank für eure Hilfe!

            Ich denke ich werde meine ganzen einzelnen PHP Scripte in UTF-8 kodieren.

            Was ist nun eigentlich der Unterschied zwischen den UTF-8 Einstellungen inder PHP.ini bzw. im header und der UTF-8 Kodierung der Quelldatei?

            Kommentar


            • #7
              Vielleicht könnt ihr mir beantworten ob es ein Program gibt, mit dem man die Codierung von mehreren Dateien gleichzeitig setzen kann??

              Dieses Frontend besteht aus ca. 200 php dateien, welche ich nicht einzeln ändern möchte.

              Vielen Dank!

              Kommentar


              • #8
                Was ist nun eigentlich der Unterschied zwischen den UTF-8 Einstellungen inder PHP.ini bzw. im header und der UTF-8 Kodierung der Quelldatei?
                Ersteres sagt dem Browser welchen Zeichensatz er anzeigen soll und zweiteres sagt in welchem Zeichensatz die Zeichen in der Datei kodiert sind.
                Dieses Frontend besteht aus ca. 200 php dateien, welche ich nicht einzeln ändern möchte.
                Streng mal die Suche an, irgendjemand hat mal ein kleines Skript geschrieben.
                OffTopic:
                Ich hatte schon ein paar mal das Problem bei Kunden, die schnell mal eine Änderung im Code vornehmen wollten und dann die Datei im falschen Zeichensatz gespeichert haben. Auch funktioniert das Arbeiten im WebFTP nicht vernünftig. Darum sind die Quelldateien bei mir immer ASCII und alle Seiteninhalte liegen in Extradateien in UTF-8 vor.
                Böser Workaround
                Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

                Kommentar

                Lädt...
                X