[Script] UTF-8 "fähiges" News-System

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

  • [Script] UTF-8 "fähiges" News-System

    Hallo alle zusammen,

    ich habe vor einiger Zeit eine Seite umgesetzt, die jetzt noch um eine chinesische und eine japanische Sprachversion erweitert werden soll.

    Bei den "normalen" content-Seiten ist das kein Problem. Ich habe aber damals das Newssystem "Newswriter" (www.newswriter.info) eingesetzt - und das kann Unicode-Zeichen leider überhaupt nicht leiden.

    Kennt jemand von Euch entweder einen Hack um Newswriter UTF-8 fähig zu machen, oder - evtl. sogar besser - ein Newssystem, welches von Haus aus mehrere Sprachen und vor allem Unicode-Zeichensätze versteht?

    Ich wäre Euch wirklich verdammt dankbar

    Vielen Dank schonmal für Eure Hilfe,
    Karsten

  • #2
    Re: [Script] UTF-8 "fähiges" News-System

    was gibt es da viel zu "hack"en?

    seiten und formulare auf utf-8 umstellen, und dafür sorgen, dass auch mit Charset utf-8 im response header ausgeliefert wird.


    auch wenn PHP eigentlich noch nicht wirklich utf-8-fähig ist - utf-8 ist vollkommen ASCII-kompatibel, lässt sich also auch einfach so abspeichern wie "normaler" text.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Re: Re: [Script] UTF-8 "fähiges" News-System

      Original geschrieben von wahsaga
      seiten und formulare auf utf-8 umstellen, und dafür sorgen, dass auch mit Charset utf-8 im response header ausgeliefert wird.
      Hmm.. dann für mich kurz als Verständnis- und "Fehlerquellen-Ausschluss"-Frage: Wenn ich eine art "Frame"-Datei (index.php, admin.php) habe, die je nach Bedingung bestimmte Template-Teile (Header, Footer) includiert - reicht es dann, die "Frame"-Datei utf-8 zu codieren oder muss man das mit allen beteiligten Dateien machen?

      Und dann theoretisch nur noch die Eingabeformulare durch
      <form accept-charset="UTF-8"> erweitern? Ist das alles?

      Vielen Dank auf jeden Fall schonmal!

      Kommentar


      • #4
        Jede Seite, die UTF-8 enthält sollte dem Browser sagen, dass sie UT8-enthält.
        Ein Frameset besteht aus einzelnen Seite, für die obiges gilt.
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          Original geschrieben von mrhappiness
          Jede Seite, die UTF-8 enthält sollte dem Browser sagen, dass sie UT8-enthält.
          Ein Frameset besteht aus einzelnen Seite, für die obiges gilt.
          Sorry - missverständlich ausgedrückt: Mit "Frame"-Datei meinte ich ein Konstrukt, bei dem eine Datei (z.B. index.php) per get, post oder sonstwie irgendwelche Variablenwerte erhält, und je nach Bedingung bestimmte Template(-Teile) oder Inhalte includiert oder abfragt.

          z.B.:

          <index.php> [COLOR=green]<- utf-8 codiert [/COLOR]
          if (..) {
          include("header_template.php"); [COLOR=green]<- enthält meta http-equiv content type utf-8; Dateicodierung egal? [/COLOR]
          irgendeine_ausgabe();
          include("footer_template.php"); [COLOR=green]<- Dateicodierung egal? [/COLOR]
          }

          So in der Art...



          ANHANG:

          Jetzt habe ich gerade gelesen, dass man Formulare _eigentlich_ gar nicht speziell codieren muss, sondern dass diese (wenn gar keine accept-charset Angabe besteht) im Normalfall genauso codiert werden, wie das Dokument, in dem sie stehen... stimmt das?

          Zuletzt geändert von derkarsten; 30.06.2005, 11:19.

          Kommentar


          • #6
            Original geschrieben von derkarsten
            include("footer_template.php"); [COLOR=green]<- Dateicodierung egal? [/COLOR]
            nein, kodierung nicht egal - zumindest, wenn sonderzeichen drin vorkommen, die ASCII nicht enthält (also bspw. deutsche umlaute.)

            Jetzt habe ich gerade gelesen, dass man Formulare _eigentlich_ gar nicht speziell codieren muss, sondern dass diese (wenn gar keine accept-charset Angabe besteht) im Normalfall genauso codiert werden, wie das Dokument, in dem sie stehen... stimmt das?
            theoretisch ja.
            da manche browser aber andernfalls trotzdem dazu neigen, solche formulare bspw. als iso-8859-1 abzuschicken, sofern sich alle eingegebenen zeichen darin abbilden lassen, ist die angabe trotzdem empfehlenswert.
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Ok - ich hab jetzt mal alle Template-Files und die admin.php in utf-8 gespeichert und bei dem Eingabe-Formular die accept-charset-Angabe hinzugefügt.

              In der Header-Template-Datei steht zusätlich die korrekte http-equiv Angabe (utf-8).

              Wenn ich dann die chinesischen Schriftzeichen per copy & paste aus einer Seite des restlichen Auftritts (direkt aus dem Browserfenster) einfüge, sehen die Formular-Inhalt auch fein aus:





              Wenn ich jetzt aber (alles innerhalb der admin.php) ein paar mal auf "weiter" klicke und so zur Artikelvorschau komme, sieht das folgendermaßen aus:



              Das ist ja weder utf-8 noch sonstwas... hast Du eine Idee, wo ich da ansetzen müsste?

              Vielen Dank übrigens nochmal für Deine Hilfe!

              Kommentar


              • #8
                lieferst du die seiten auch mit charset utf-8 im response header aus?

                angabe per http hat bekanntlich vorrang vor meta-tag.
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  Ja - ich habe in der admin.php direkt als erstes

                  PHP-Code:
                  header('Content-Type: text/html; charset=UTF-8'); 
                  drinstehen. Die Browser scheint die Seite auch korrekt als UTF-8 codiert zu erkennen:



                  hmmm....

                  Kommentar


                  • #10
                    Hat keiner mehr eine Idee? Ich habe leider auch immer noch keinen Lösungsansatz...

                    Außer, dass ich mittlerweile rausgefunden habe, dass die Daten wohl zwischen Eingabe (erster Screenshot) und Artikel-Vorschau (zweite Screenshot) nur im $_POST[] Array vorgehalten und nicht irgendwo "physisch" zwischengespeichert werden.

                    Also muss das Problem ja irgendwie in der Behandlung der Daten aus dem Formular liegen... Fällt irgendjemand etwas ein (ne php- oder javascript function), was aus schönen unicode-Daten dieses Zeichen-Massaker macht (zweiter Screenshot)?

                    Kommentar

                    Lädt...
                    X