Ankündigung

Einklappen
Keine Ankündigung bisher.

UTF-8 Beitrag

Einklappen

Neue Werbung 2019

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

  • UTF-8 Beitrag

    .. zur einfachen Verlinkung bei solchen Themen.

    Zusammenfassung, Analyse, Auflistung Lösungen: http://php-de.github.io/jumpto/utf-8/

    Feedback, PullRequests etc. gerne.
    The string "()()" is not palindrom but the String "())(" is.

    Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
    PHP.de Wissenssammlung | Kein Support per PN

  • #2
    Ich finde den Beitrag gut, nur die Empfehlung utf8_general_ci als Zeichensatz zu verwenden finde ich nicht gut. Grundsätzlich ist immer utf8_unicode_ci zu bevorzugen, da die Präzision dieses Zeichensatzes höher ist: http://forums.mysql.com/read.php?103,187048,188748
    [URL="https://github.com/chrisandchris"]GitHub.com - ChrisAndChris[/URL] - [URL="https://github.com/chrisandchris/symfony-rowmapper"]RowMapper und QueryBuilder für MySQL-Datenbanken[/URL]

    Kommentar


    • #3
      Danke, ist geändert.
      The string "()()" is not palindrom but the String "())(" is.

      Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
      PHP.de Wissenssammlung | Kein Support per PN

      Kommentar


      • #4
        Beitrag ist gut, danke!
        Competence-Center -> Enjoy the Informatrix
        PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

        Kommentar


        • #5
          Situation 1, Mögliche Ursache:
          Sollte es nicht genau andersrum sein?
          [QUOTE=nikosch]Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.[/QUOTE]

          Kommentar


          • #6
            Es wäre nett noch mal auf utf8mb4 einzugehen
            utf8_unicode_ci ist nämlich aktuell nicht der beste Griff...

            Kommentar


            • #7
              Hast du gerade eine gute Referenz für den Unterschied unicode/bin/mb4? Dazu fand ich eben nichts...
              [URL="https://github.com/chrisandchris"]GitHub.com - ChrisAndChris[/URL] - [URL="https://github.com/chrisandchris/symfony-rowmapper"]RowMapper und QueryBuilder für MySQL-Datenbanken[/URL]

              Kommentar


              • #8
                https://dev.mysql.com/doc/refman/5.5...e-utf8mb4.html

                Erst mit mb4 lassen sich Emojis darstellen. Und es gibt wirklich Leute, die solche Zeichen beispielsweise in Bestellkommentaren verwenden

                Kommentar


                • #9
                  Oder kurz:
                  Beachten Sie, dass MySQL unter „utf8“ nur die Zeichen der BMP (Basic Multilingual Plane U+0000..U+FFFF) versteht. Um auch die Zeichen aus höheren Unicode-Regionen verwenden zu können, muss „utf8mb4“ statt „utf8“ verwendet werden, was ab MySQL-Version 5.5.3 zur Verfügung steht.
                  In vielen Tuts ist noch utf8_general_ci zu finden. Da das Wiki wohl für in erster Linie Einsteiger gedacht ist, sollte für eine Empfehlung für utf8_unicode_ci oder auch utf8mb4_unicode_ci ein einfach formulierter Hinweis zu den Unterschieden nicht fehlen. Ein Fremdwort mit 5 weiteren Fremdworten einem Einsteiger zu erklären bringt nix.

                  @rkr: So ein Firlefanz würde ich aus einem Bestellkommentar gnadenlos rausfiltern und das nicht zum Anlass nehmen, utf8mb4 zu nutzen.

                  Kommentar


                  • #10
                    Zitat von jspit
                    @rkr: So ein Firlefanz würde ich aus einem Bestellkommentar gnadenlos rausfiltern und das nicht zum Anlass nehmen, utf8mb4 zu nutzen.
                    Naja, das Problem ist ja, dass du das wirklich aktiv filtern musst. Mysql verweigert die Annahme - nein, mysql tut, was man von mysql erwarten würde: es schneidet die Daten beim ersten Vorkommnis eines nicht unterstützen Zeichens einfach ab, was bei Xml-Dokumenten zu... naja, kaputten Xml-Dokumenten führen wird. <ãrzte>Da ist ein Wort der Warnung angebracht: MySQL-Devs sind Schweine, traue Ihnen nicht ein Stück...</ãrzte>

                    PS: Wird für diesen Beitrag jetzt eigentlich GEMA fällig?

                    Kommentar


                    • #11
                      Wenn es um Bestellungen geht, kommt man um aktives Filtern nicht rum oder man haut das Formular den Nutzer um die Ohren. Hab es leider schon häufig erlebt, das im Vordruck zum Betreff für eine Überweisung Zeichen benutzt wurden, welche meine Bank zurückweist.
                      ​Hättest du als Beispiel die DB für ein eigenes Fratzenbuch genannt, da muss dies selbstredend alles rein.

                      Kommentar


                      • #12
                        Zitat von tkausl Beitrag anzeigen
                        Situation 1, Mögliche Ursache:
                        Sollte es nicht genau andersrum sein?
                        Richtig.. danke für den Hinweis.
                        The string "()()" is not palindrom but the String "())(" is.

                        Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                        PHP.de Wissenssammlung | Kein Support per PN

                        Kommentar


                        • #13
                          Zitat von rkr Beitrag anzeigen
                          <ãrzte>Da ist ein Wort der Warnung angebracht: MySQL-Devs sind Schweine, traue Ihnen nicht ein Stück...</ãrzte>
                          <hanlon>Never attribute to malice what you can explain by stupidity.</hanlon>
                          Die lernen halt laufend dazu. Ich meine, hast du von Anfang an gewusst, was sich hinter "UTF-8" verbirgt? Siehste!

                          PS: Wird für diesen Beitrag jetzt eigentlich GEMA fällig?
                          Nur, wenn du ihn laut vorsingst.

                          Zitat von jspit Beitrag anzeigen
                          Ein Fremdwort mit 5 weiteren Fremdworten einem Einsteiger zu erklären bringt nix.
                          BMP: Sammlung von Unicode-"Zeichen", die jeder vernünftige Web-Browser auf jedem halbwegs aktuellen Betriebssystem anzeigen kann (Android mit Einschränkungen).
                          SMP: Zusätzliche Sammlung von Unicode-"Zeichen", die jede Web-Anwendung unterstützen sollte, wenn sie Apple-User (iOS) als Zielgruppe hat oder per WhatsApp lachende Scheißhaufen verschickt werden sollen.

                          Wenn man die Wurst schräg anschneidet, hält sie länger, weil die Scheiben größer sind.

                          Kommentar


                          • #14
                            Daten aus Fremdquellen müssen mittels utf8_encode() in UTF-8 überführt werden, wenn sie nicht als UTF-8 vorliegen (Datei, Windows-System, …).
                            Hierzu fiel mir auf, dass die benannte Funktion lediglich ISO-8859-1 in UTF-8 überführt.
                            [B]Es ist schon alles gesagt. Nur noch nicht von allen.[/B]

                            Kommentar


                            • #15
                              Dafür gibts aber dann iconv().
                              Competence-Center -> Enjoy the Informatrix
                              PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                              Kommentar

                              Lädt...
                              X