Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Webapplikation für Osteuropa fit machen

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Webapplikation für Osteuropa fit machen

    Hi

    habe eine Anwendung laufen mit meta charset iso-8859-1 und in MySQL im Wesentlichen latin1_general_ci. Das ganze lief bisher nur in Deutschland, Österreich, Frankreich, soll jetzt aber auch in Tschechien, Slowakei, Ungarn, Polen und Russland für einen anderen Kunden laufen.

    Also habe ich kurzerhand die DB, Tabellen, Tabellenfelder auf utf8_general_ci umgestellt und damit begonnen, die wenigen im Auslieferungszustand enthaltenen Datenbankeinträge neu einzugeben.

    Ferner habe ich html-seitig auf meta charset UTF-8 umgestellt und die Datenbankverbindung mit
    PHP-Code:
    mysql_query("SET NAMES 'utf8'");
    mysql_query("SET CHARACTER SET 'utf8'"); 
    noch angepaßt.

    Im Ergebnis läuft das alles erst mal ganz gut. Dennoch beschleichen mich einige Fragestellungen:

    1. Ein ausgelesener Datenbankeintrag "Rüdé" wird nur dann richtig auf der
    Website dargestellt, wenn ich
    PHP-Code:
    function to_html_entities_utf8 ($word) {
        return 
    htmlentities($word,ENT_QUOTES,'UTF-8');

    auf den Output anwende. Eigentlich hatte ich gedacht, dass HTML-Entitäten der Darstellung wegen nicht zwingend notwendig sind. Wieso ist das hier erforderlich?

    2. FPDF scheint per se kein UTF-8 zu unterstützen. Hat da mal jemand einen Hinweis, was ich alternativ nehmen oder machen sollte? D. h. was ist Eure Empfehlung?

    3. Aktuell sagt mein Stylesheet z. B.
    Code:
    font-family:Arial, Helvetica;
    Muß ich für die Osteuropäer andere Schriftarten nehmen? Wenn ja, wie löse ich das generell. Stylesheets dynamisch einbinden, nur noch Arial Unicode (?) oder ähnliches?

    Ein netter Nebenbefund: Die oben genannten Sprachen sind sprachcodierungsmäßig der ISO-639 zugeordnet, der im übrigen - völlig
    erwartungsgemäß - auch Klingonisch zugeordnet ist (siehe Wikipedia).

    Wäre nett, wenn Ihr ganz oder teilweise Ideen und Anregungen habt.

    Gruß
    Es ist schon alles gesagt. Nur noch nicht von allen.


  • #2
    Zitat von drsoong Beitrag anzeigen
    Eigentlich hatte ich gedacht, dass HTML-Entitäten der Darstellung wegen nicht zwingend notwendig sind. Wieso ist das hier erforderlich?
    Vermutlich, weil dein Dokument immer noch nicht als UTF-8 interpretiert wird.


    Dass eine charset-Angabe per META-Element niedrigere Priorität hat, als eine per HTTP gemachte, ist Grundlagenwissen in Bezug auf Zeichenkodierung im Web.

    Kommentar


    • #3
      mysql_query("SET NAMES 'utf8'");
      mysql_query("SET CHARACTER SET 'utf8'");
      Bitte auch nicht beide verwenden. Näheres findest DU im Adventskalender.
      --

      „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
      Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


      --

      Kommentar


      • #4
        Zitat von ChrisB Beitrag anzeigen
        Vermutlich, weil dein Dokument immer noch nicht als UTF-8 interpretiert wird.


        Dass eine charset-Angabe per META-Element niedrigere Priorität hat, als eine per HTTP gemachte, ist Grundlagenwissen in Bezug auf Zeichenkodierung im Web.
        O.K. danke erst Mal für Eure Hinweise.

        Ich hatte übersehen, dass meine IDE php-Dateien standardmäßig in ANSI speichert. Nach entsprechender Anpassung sind gleich einige "Oddities" vom Bildschirm verschwunden.

        Den Adventskalendereintrag habe ich gelesen. Danke für den hiflreichen Hinweis.

        ChrisB: Ich programmiere jetzt seit sechs Jahren kommerziell. Habe es mir selber beigebracht. 70% meines Wissens erwächst aus den jeweiligen Projektanforderungen. Den Rest versuche ich mir so anzulesen. Ich finde es manchmal etwas ernüchternd, wenn man dann immer noch auf Basics stößt, von deren Existenz man noch nicht einmal wußte. Umgekehrt weiß ich, dass meine Kunden sehr zufrieden sind, mich gerne weiter beschäftigen und ich den Job durchaus ernst nehme. So kann ich damit leben, dass die Priorisierung zwischen http und meta erst jetzt auf den Lehrplan kommt.
        Es ist schon alles gesagt. Nur noch nicht von allen.

        Kommentar


        • #5
          Zitat von nikosch Beitrag anzeigen
          Bitte auch nicht beide verwenden. Näheres findest DU im Adventskalender.
          Mal ne kleine Offtopic Frage: Warum schreibst DU, DU immer groß?
          Es ist schon alles gesagt! Nur noch nicht von allen! (Karl Valentin)
          Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)

          Kommentar


          • #6
            Zitat von dennis81 Beitrag anzeigen
            Mal ne kleine Offtopic Frage: Warum schreibst DU, DU immer groß?
            http://www.php.de/html-usability-und...tml#post520996

            Wollen wir es ihm mal glauben
            http://hallophp.de

            Kommentar


            • #7
              Vielleicht interessiert das ja noch jemand anderen. Habe inzwischen alle Probleme / Fragen gelöst / beantworten können.

              Eigentlich hatte ich gedacht, dass HTML-Entitäten der Darstellung wegen nicht zwingend notwendig sind. Wieso ist das hier erforderlich?
              Habe übersehen, die PHP-Datei selber noch in UTF-8 zu speichern. Habe das nachgeholt und jetzt sind auch keine HTML-Entities mehr nötig.
              2. FPDF scheint per se kein UTF-8 zu unterstützen. Hat da mal jemand einen Hinweis, was ich alternativ nehmen oder machen sollte? D. h. was ist Eure Empfehlung?
              Nach aufmerksamen Studium eines FPDF-Tutorials und Duchforsten des FPDF-Forums habe ich es so gemacht: a) mir eine eigene FPDF-Schriftdatei z.B. für Russisch erstellt.
              b) Diese Schriftdateien werden per
              PHP-Code:
              $pdf->addFont 
              hinzugefügt bzw. eingebettet
              c) Das PDF wird dann per fpdi mit Vorlagen und per DB mit UTF-8-Input befüllt, der per
              PHP-Code:
              iconv('UTF-8','iso-8859-5',$ausdruck
              passend gemacht wird.
              3...Muß ich für die Osteuropäer andere Schriftarten nehmen?
              Hat sich mit der Lösung von 2 erledigt.
              Es ist schon alles gesagt. Nur noch nicht von allen.

              Kommentar


              • #8
                [OT]

                php.de - das Deutsche PHP-Forum

                Wollen wir es ihm mal glauben
                Was Du so alles auf dem Schirm hast. Ist ja gruselig! Wusste nicht mal selbst, dass ich das mal geschrieben habe!

                Also - wie gesagt - ist ein Tippfehler, der wohl irgendwie mit meiner Art der Tastaturbedienung zu tun hat. Versuche es i.A. zu korrigieren, aber manchmal übersehe ich das.
                --

                „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                --

                Kommentar


                • #9
                  Hey nikosch, scheinst wohl schon wieder Probleme mit der Tastatur zu haben. Deine Antwort ist doch sicher nicht für diesen Thread bestimmt???!!!
                  Es ist schon alles gesagt. Nur noch nicht von allen.

                  Kommentar


                  • #10
                    Doch, doch:
                    Mal ne kleine Offtopic Frage: Warum schreibst DU, DU immer groß?
                    --

                    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                    Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                    --

                    Kommentar


                    • #11
                      Zitat von nikosch Beitrag anzeigen
                      Doch, doch:
                      Aha, soso. Hatte nicht damit gerechnet, dass DU - nachdem ich nach 14 Tagen das eigentliche Thema fortsetze - auf diese Zwischenfrage antwortest. Werde wohl an der Attraktivität meiner Beiträge / Threads arbeiten müssen
                      Es ist schon alles gesagt. Nur noch nicht von allen.

                      Kommentar


                      • #12
                        Zum Problem mit FPDF, das unterstützt kein UTF-8 und wird auch nicht mehr weiter entwickelt. Es gibt aber noch TCPDF, ist soweit mir bekannt von dem selben Machern, kann UTF-8 und wird ständig weiter entwickelt.
                        Hat diverse coole Features. Die Syntax ist nahezu identisch mit FPDF. Mit relativ wenig Aufwand lassen sich Scripte die mit FPDF erzeugt wurden soweit anpassen, dass diese im Endeffekt in UTF-8 sind.
                        Noch ein kleiner Hinweis: Die Abstände haben sich ein klein wenig geändert, sodass du eventuell noch Pixelschieben musst... ::schubs::
                        "My software never has bugs, it just develops random features."
                        "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

                        Kommentar


                        • #13
                          Zu Paul.Schramenko: Vielen Dank erst mal. Habe mir TCPDF angesehen. Das Problem ist folgendes: Für mich sind zwei Dinge wichtig. 1. UTF-8 Support 2. Templates einbinden

                          Die TCPDF-Site verweist darauf, dass FPDI mit TCPDF nutzbar ist. Allerdings habe ich bisher noch keine Möglichkeit gefunden, die Vorzüge aus beiden Welten für ein zu kreierendes PDF zu nutzen. Falls Du da zufällig einen Link für mich hast....
                          Es ist schon alles gesagt. Nur noch nicht von allen.

                          Kommentar

                          Lädt...
                          X