Abo
  1. Foren
  2. Kommentare
  3. Applikationen
  4. Alle Kommentare zum Artikel
  5. › Telugu: Indisches Schriftzeichen…

Wie kommt es immer wieder dazu?

  1. Thema
  1. 1
  2. 2

Neues Thema Ansicht wechseln


  1. Wie kommt es immer wieder dazu?

    Autor: Eheran 15.02.18 - 22:54

    Was ist die Ursache für derartige Fehler? Wie kann ein Symbol zu Abstürzen führen?
    Entweder ist die Schriftart hinterlegt und damit das Symbol kein Problem oder es wird einfach nichts/Umrandetes Fragezeichen/... angezeigt.

    Ich würde mich da um Aufklärung freuen, wie etwas triviales so tiefgreifende Folgen haben kann.

  2. Re: Wie kommt es immer wieder dazu?

    Autor: schap23 15.02.18 - 22:56

    Grundlegender Fehler im Design von iOS. Pflasterchen drüberkleben wird nicht helfen.

  3. Re: Wie kommt es immer wieder dazu?

    Autor: Proctrap 15.02.18 - 23:59

    utf ist ein komplexes biest & nicht einfach nur irgend eine lookup table
    trotzdem etwas arm dass Apple damit solche Probleme hat

    ausgeloggt kein JS für golem = keine Seitenhüpfer

  4. Re: Wie kommt es immer wieder dazu?

    Autor: xmaniac 16.02.18 - 00:47

    naja, also so komplex ist es eigentlich auch nicht, z.B. für utf8 auf die escapesequenz zu reagieren und zu einem multibyte charakter umzurechnen. um nicht zu sagen banal. aber gut, bei einer firma wo auch eine simple taschenrechner-app probleme verursacht, weil erst das ende einer animation das event triggert...

  5. Re: Wie kommt es immer wieder dazu?

    Autor: panzi 16.02.18 - 06:10

    Ich glaub nicht das es sich dabei um ein Problem mit der Kodierung (UTF-8, UTF-16 etc.) handelt, sondern um eines beim Zusammenbauen und Rendern des Glyphen. So Zeichen sind oft kein einzelner Codepoint sondern setzen sich aus mehreren combining characters zusammen, die dann mitunter große Änderungen in der Darstellung verursachen. Das einfachste Beispiel währen z.B. Umlaute, die in Unicode durch zwei Codepoints dargestellt werden können, also z.B. ein a und ein weiterer Codepoint der sagt "setze Punkte über das letzte Zeichen". In anderen Sprachen kann das noch viel komplexer werden und irgendwo in der Behandlung dieser Logik haben sie wohl einen Fehler gemacht. Aber schon arg, dass so ein Fehler gleich zum Absturz führt und nicht nur zu einem kaputt aussehendem Zeichen. D.h. das haben die sehr lowlevlig programmiert mit wenigen Checks.

  6. Re: Wie kommt es immer wieder dazu?

    Autor: DebugErr 16.02.18 - 06:15

    und dann kommt der renderer mit zwj's, rtl, emojirotz, etc

  7. Re: Wie kommt es immer wieder dazu?

    Autor: xmaniac 16.02.18 - 07:21

    panzi schrieb:
    --------------------------------------------------------------------------------
    > Ich glaub nicht das es sich dabei um ein Problem mit der Kodierung (UTF-8,
    > UTF-16 etc.) handelt, sondern um eines beim Zusammenbauen und Rendern des
    > Glyphen. So Zeichen sind oft kein einzelner Codepoint sondern setzen sich
    > aus mehreren combining characters zusammen, die dann mitunter große
    > Änderungen in der Darstellung verursachen. Das einfachste Beispiel währen
    > z.B. Umlaute, die in Unicode durch zwei Codepoints dargestellt werden
    > können, also z.B. ein a und ein weiterer Codepoint der sagt "setze Punkte
    > über das letzte Zeichen". In anderen Sprachen kann das noch viel komplexer
    > werden und irgendwo in der Behandlung dieser Logik haben sie wohl einen
    > Fehler gemacht. Aber schon arg, dass so ein Fehler gleich zum Absturz führt
    > und nicht nur zu einem kaputt aussehendem Zeichen. D.h. das haben die sehr
    > lowlevlig programmiert mit wenigen Checks.

    Sorry, aber das halte ich für Unfug. Umlaute sind jeweils eigene ganz normale Unicode Zeichen:
    http://javawiki.sowas.com/doku.php?id=java:unicode

    Wenn überhaupt, hat das bestenfalls etwas mit einem umständlichen Unicode-Rendering aber nichts mit Unicode zu tun. Hast du irgendwelche Links zu deiner Behauptung? Das Textrendering wird aber aus Performancegründen oft im Kernel erledigt, von daher ist ein crash bei einem Fehler nicht sehr erstaunlich.

  8. Re: Wie kommt es immer wieder dazu?

    Autor: mistake 16.02.18 - 07:48

    xmaniac schrieb:
    --------------------------------------------------------------------------------
    > Hast du irgendwelche Links zu deiner Behauptung?

    https://de.wikipedia.org/wiki/Trema#Eingabe

    Don't forget to kill Phillip!

  9. Re: Wie kommt es immer wieder dazu?

    Autor: Dino13 16.02.18 - 08:34

    Dann lese doch einfach mal den Teil über Unicode.
    Ausserdem ist Trema was anderes als ein Umlaut

  10. Re: Wie kommt es immer wieder dazu?

    Autor: eidolon 16.02.18 - 10:09

    Ändert trotzdem nichts daran, dass man nicht jedes Zeichen einzeln in einer Schriftart einprogrammiert, sondern aus Teilen zusammenbaut, wenn es gemeinsam genutzte Elemente gibt.

  11. Re: Wie kommt es immer wieder dazu?

    Autor: Dino13 16.02.18 - 10:13

    Natürlich ändert es etwas da beim Unicode es expliziten Code für Buchstaben mit Umlaut gibt. Man kann zwar auch ein Ä erstellen indem man ein A mit einem Trema verbindet aber warum sollte man das tun wenn schon ein eigener Code existiert?

  12. Re: Wie kommt es immer wieder dazu?

    Autor: theonlyone 16.02.18 - 12:09

    äöü sind blöde Beispiele, aber gerade die Sonderzeichen unter/über Buchstaben machen hier immer wieder Probleme.

    Hat man z.B. über einem Zeichen aber hunderte 1² dran gehängt geht das immer weiter nach rechts oben hinaus, wird aber u.U. (abhängig wie man damit umgeht) als 1 Zeichen behandelt.

    Man könnte im krassen Fall also ein Zeichen schreiben und dann beliebig viel extra Text und andere Späße in diese extra Sonderzeichen Bereiche reinschreiben. Wenn das schlecht behandelt wird hat man hier allerlei Problemfälle zu betrachten, weil man praktisch neben seiner normalen Zeichenfolge für jedes Zeichen noch eine extra Y-Achse bekommt mit Zeichen die nach oben hinaus gehen und Zeichen die nach unten hinaus gehen. Witzig wirds dann auch wenn man Kombinationen davon erlaubt, also das ein Zeichen nach oben hinaus geht und das Zeichen hat dann selbst ein Zeichen angehängt das nach unten geht, oder gar nach "links" oder sonst wie verrückte Spezialfälle erzeugt, nur weil man versucht das Rendering so flexibel wie möglich zu halten (da explodiert die Fehleranzahl eben auch, weil man plötzlich so viel beachten muss und das mit allen möglichen exotischeren Zeichen die man sonst nie benutzt oder kennt).

    ----

    Probleme mit solchen Zeichen gibt es häufiger als man glaubt, aber selten sorgt das dafür das der Nutzer davon etwas mitbekommt, im Zweifel wird das Zeichen eben nicht gerendert , oder nicht mehr erkannt.

    Aber gerade für Datenbanken usw. sind diese Sonderzeichen schon sehr ätzend (am einfachsten macht man es sich die nicht zuzulassen, ansonsten darf man sich mit dem Scheiß herum ärgern).

  13. Re: Wie kommt es immer wieder dazu?

    Autor: xmaniac 16.02.18 - 12:14

    eidolon schrieb:
    --------------------------------------------------------------------------------
    > Ändert trotzdem nichts daran, dass man nicht jedes Zeichen einzeln in einer
    > Schriftart einprogrammiert, sondern aus Teilen zusammenbaut, wenn es
    > gemeinsam genutzte Elemente gibt.


    Äääh doch! Fakten sind nicht so dein Ding? Das es eigene Zeichen für Umlaute gibt ändert ganz gewaltig etwas daran, dass diese nicht aus einem Zeichen für den Buchstaben und einem für die Punkte zusammengesetzt werden *facepalm*

  14. Komisch

    Autor: mhstar 16.02.18 - 12:18

    dass alle meine Anwendungen ohne das ich viel machen musste "einfach so" UTF8 voll unterstützen. Bei nicht darstellbaren Zeichen gibt's halt ein � oder ein Kästchen, aber auch ohne dass ich was machen musste.

    Das einzige was ich mache: ich verwende halt die ganz normalen Frameworks für Windows und Linux.

    Liegt vielleicht doch an einem Designfehler von Apple?
    (auch die Webanwendung von Golem unterstützt UTF8 wie man sieht - genau so wie die meinen. Scheint also kein unlösbares Problem in der IT zu sein, sondern eher, wie man so schön sagt, trivial)



    1 mal bearbeitet, zuletzt am 16.02.18 12:19 durch mhstar.

  15. Re: Wie kommt es immer wieder dazu?

    Autor: xmaniac 16.02.18 - 12:24

    theonlyone schrieb:
    --------------------------------------------------------------------------------
    > äöü sind blöde Beispiele, aber gerade die Sonderzeichen unter/über
    > Buchstaben machen hier immer wieder Probleme.
    >
    > Hat man z.B. über einem Zeichen aber hunderte 1² dran gehängt geht das
    > immer weiter nach rechts oben hinaus, wird aber u.U. (abhängig wie man
    > damit umgeht) als 1 Zeichen behandelt.
    >
    > Man könnte im krassen Fall also ein Zeichen schreiben und dann beliebig
    > viel extra Text und andere Späße in diese extra Sonderzeichen Bereiche
    > reinschreiben. Wenn das schlecht behandelt wird hat man hier allerlei
    > Problemfälle zu betrachten, weil man praktisch neben seiner normalen
    > Zeichenfolge für jedes Zeichen noch eine extra Y-Achse bekommt mit Zeichen
    > die nach oben hinaus gehen und Zeichen die nach unten hinaus gehen. Witzig
    > wirds dann auch wenn man Kombinationen davon erlaubt, also das ein Zeichen
    > nach oben hinaus geht und das Zeichen hat dann selbst ein Zeichen angehängt
    > das nach unten geht, oder gar nach "links" oder sonst wie verrückte
    > Spezialfälle erzeugt, nur weil man versucht das Rendering so flexibel wie
    > möglich zu halten (da explodiert die Fehleranzahl eben auch, weil man
    > plötzlich so viel beachten muss und das mit allen möglichen exotischeren
    > Zeichen die man sonst nie benutzt oder kennt).
    >
    > ----
    >
    > Probleme mit solchen Zeichen gibt es häufiger als man glaubt, aber selten
    > sorgt das dafür das der Nutzer davon etwas mitbekommt, im Zweifel wird das
    > Zeichen eben nicht gerendert , oder nicht mehr erkannt.
    >
    > Aber gerade für Datenbanken usw. sind diese Sonderzeichen schon sehr ätzend
    > (am einfachsten macht man es sich die nicht zuzulassen, ansonsten darf man
    > sich mit dem Scheiß herum ärgern).

    Du konstruierst hier ein Problem, dass es so gar nicht gibt. Derart komplex wie hier in deiner Fantasie ist Unicode überhaupt nicht. Mehrere Y Achsen?

    Es ist ein einzelnes Zeichen, davon hat Unicode genau 136755 - also für IT Verhältnisse sehr gut abzählbar. Die hätte man vielleicht einfach alle mal von der Textengine zum Test rendern lassen können. Nur so eine Idee...

    PS: Und wenn dir sowas in Datenbanken Probleme bereitet, wo wirklich nur die Bytes gespeichert werden müssen aber nichts gerendert, dann hast du wirklich den Job verfehlt, falls der irgendetwas mit IT zu tun hat.



    5 mal bearbeitet, zuletzt am 16.02.18 12:40 durch sfe (Golem.de).

  16. Re: Wie kommt es immer wieder dazu?

    Autor: eidolon 16.02.18 - 12:40

    Der OP redet hier aber nicht über äöü, sondern um andere Zeichen, wo eben genau das so gemacht wird.

  17. Re: Wie kommt es immer wieder dazu?

    Autor: theonlyone 16.02.18 - 14:13

    xmaniac schrieb:
    --------------------------------------------------------------------------------
    > Du konstruierst hier ein Problem, dass es so gar nicht gibt. Derart komplex
    > wie hier in deiner Fantasie ist Unicode überhaupt nicht. Mehrere Y Achsen?

    T͓̹h̷̳͎̮̣̯̺ẹ͉͙̭̱̕͜r̜͚̰̱̝͇̞̺͟e͇̩̪ ̞̦͇̩͍̠̳͙͍͘͜i̧̠̖̤̥̲̪͝s͔̪͖͉ ̡̡̦̜̲̹̞̺n̸̗̩͇̺͖̠ò̶͙͖̙͉͈͡ ̵̺̣͍̮̹r̷̢͓͓e̷͈̘̳͕̝á̠̟͚̤͕̘͕͜͞l̢̮̥͎̪̦̝̜͟i̧͞͏̯̜͍̫̥̭̳̹t̸̺̖y̨̡̻͈̟͈͔̝̱͖̜͞.̨͚̱̼͍̭̕_̨͓͖͞-̧̩̮͢~̴̘̮̠̻͇͚̯͠:̷̦͈̣̳̟̪͢ͅ#̥͝

    A̸̸̘̮̻̙̖͍̥̘͚ͪͦͭ͗h͎̱ͦ́̍͠,̗̫̝͇͉̈͗͞ͅ ̶̘͖͉̏ͣ̑͐̓ͥͣt͔͔̗͙̞̥̘͍̏͐̚h̢̤̽̿͗ͬͬ͂͂̚a̸͕̖̘̞̖ͩ̉̍̉͢n͓̟̜̼̞͉͆̋͢͝ͅk̛̥͖̮͙̯̳̓̂ŝ̥͍̼̲̼̣̹͒̇̑!̿͊͘͟҉͓̤̝͍͇̟̰

    So als Beispiel, damit du weißt was ich meine.

    Wenn du dir anschaust wie das im Quelltext aussieht, ist das viel mehr als nur 1 Zeichen.

    > Es ist ein einzelnes Zeichen, davon hat Unicode genau 136755 - also für IT
    > Verhältnisse sehr gut abzählbar. Die hätte man vielleicht einfach alle mal
    > von der Textengine zum Test rendern lassen können. Nur so eine Idee...

    Die Problematik der Übergroßen Zeichen gab es in Youtube Comments.

    Da war ein auf X Zeichen begrenztes Kommentar eben einfach mal Gigabyte an Daten, weil eben genau diese Fehler zum tragen gekommen sind.

    > PS: Und wenn dir sowas in Datenbanken Probleme bereitet, wo wirklich nur
    > die Bytes gespeichert werden müssen aber nichts gerendert, dann hast du
    > wirklich den Job verfehlt, falls der irgendetwas mit IT zu tun hat.

    Natürlich speichert deine Datenbank einfach ab was du rein schiebst, aber das entspricht schlichtweg nicht dem was eingegeben wurde.

    Die üblichen verdächtigen wären Escape-Zeichen und alle Arten von Code-Execution, SQL-Injektions usw. usw. ; das Thema hat man bereits bei ganz normalen deutschen/englischen Text. Es ist also nicht "völlig" trivial, aber die Thematik ist so relevant das man dafür schon einige Standardlösung hat und die hoffentlich auch verwendet (Prepared Statements in SQL usw.).

    Das man mit all den Problemen umgehen kann versteht sich von selbst, was nichts daran ändert das es eine Menge Probleme gibt, sobald du nicht nur die üblichen Character Werte akzeptierst, sondern auch exotischere Fremdsprachen (arabisch, indisch, chinesisch usw.). Wenn du damit nichts am Hut hast sei froh drum.



    3 mal bearbeitet, zuletzt am 16.02.18 14:25 durch theonlyone.

  18. Re: Wie kommt es immer wieder dazu?

    Autor: theonlyone 16.02.18 - 14:35

    Die Extreme Variante des Textes wird vom Golem Kommentar ohne Fehlermeldung gar nicht akzeptiert.

    Also irgendwelche Checks gibt es da schon, oder es kracht sobald es in die Datenbank geschrieben werden soll.

    ----

    Man sieht, diese Zeichen machen allerlei Probleme, die man eben beachten muss.


    Für die standard Abfrage nach "Anzahl Zeichen im Text" liefert hier wohl eben nicht die Tatsächlich Menge an Symbolen zurück , also durchaus ähnlich dem Fehler wie es in den Youtube Comments auch war.

    Die Oberfläche akzeptiert also die Eingabe der "riesen" Symbole, aber im backend schreit dann spätestens irgendetwas auf (wenn man Glück hat ... )



    1 mal bearbeitet, zuletzt am 16.02.18 14:37 durch theonlyone.

  19. Re: Wie kommt es immer wieder dazu?

    Autor: underflow 16.02.18 - 14:46

    Relevant:
    https://manishearth.github.io/blog/2018/02/15/picking-apart-the-crashing-ios-string/

  20. Re: Wie kommt es immer wieder dazu?

    Autor: panzi 16.02.18 - 18:22

    @xmaniac Ja klar gibt's in Unicode einen Codepoint für Ä und der wird auch i.d.R. benutzt. Ich habe gesagt "die in Unicode durch zwei Codepoints dargestellt werden können". *können* Siehe: http://unicode.org/reports/tr15/ (Suche nach Äffin) Sagte ja das ist "das einfachste Beispiel". Siehe auch Unicode Normalformen mit denen zwischen diesen verschiedenen Darstellungsoptionen hin und her konvertiert werden kann: https://en.wikipedia.org/wiki/Unicode_equivalence#Normal_forms Bitte informiere Dich bevor Du irgendetwas als "Unfug" bezeichnest, sonst läufst Du Gefahr Dich lächerlich zu machen, und das will keiner. :)

    Nichts für Ungut,
    panzi

  1. 1
  2. 2

Neues Thema Ansicht wechseln


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Zum Login

Stellenmarkt
  1. Beckhoff Automation GmbH & Co. KG, Verl
  2. Bosch Gruppe, Grasbrunn
  3. Jade Hochschule Wilhelmshaven/Oldenburg/Elsfleth, Oldenburg
  4. Hanseatisches Personalkontor, Großraum Frankfurt am Main

Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Hardware-Angebote
  1. 149,90€ + Versand (im Preisvergleich ab 184,95€)
  2. (reduzierte Überstände, Restposten & Co.)


Haben wir etwas übersehen?

E-Mail an news@golem.de


Key-Reseller: Das umstrittene Geschäft mit den günstigen Gaming-Keys
Key-Reseller
Das umstrittene Geschäft mit den günstigen Gaming-Keys

Computerspiele zum Superpreis - ist das legal? Die Geschäftspraktiken von Key-Resellern wie G2A, Gamesrocket und Kinguin waren jahrelang umstritten, mittlerweile scheint die Zeit der Skandale vorbei zu sein. Doch Entwickler und Publisher sind weiterhin kritisch.
Von Benedikt Plass-Fleßenkämper und Sönke Siemens


    Yuneec H520: 3D-Modell aus der Drohne
    Yuneec H520
    3D-Modell aus der Drohne

    Multikopter werden zunehmend auch kommerziell verwendet. Vor allem machen die Drohnen Luftbilder und Inspektionsflüge und vermessen. Wir haben in der Praxis getestet, wie gut das mit dem Yuneec H520 funktioniert.
    Von Dirk Koller


      Bootcamps: Programmierer in drei Monaten
      Bootcamps
      Programmierer in drei Monaten

      Um Programmierer zu werden, reichen ein paar Monate Intensiv-Training, sagen die Anbieter von IT-Bootcamps. Die Bewerber müssen nur eines sein: extrem motiviert.
      Von Juliane Gringer

      1. Nordkorea Kaum Fehler in der Matrix
      2. Security Forscher können Autoren von Programmiercode identifizieren
      3. Stack Overflow Viele Entwickler wohnen in Bayern und sind männlich

      1. Battlefield 5: Entwickler setzten Time to Kill nach Kritik zurück
        Battlefield 5
        Entwickler setzten Time to Kill nach Kritik zurück

        Nach vielen Beschwerden aus der Community nimmt das Entwicklerstudio Dice umfangreiche Änderungen an Battlefield 5 zurück. Es geht vor allem um die Time to Kill - und darum, wie schwierig der Einstieg in die virtuellen Gefechte ist.

      2. Elektromobilität: Der Oberleitungs-Lkw startet in Hessen
        Elektromobilität
        Der Oberleitungs-Lkw startet in Hessen

        Wie fährt der Lkw der Zukunft? Möglichst nicht mit Diesel, sondern sauber und elektrisch. In Hessen startet jetzt das erste von drei deutschen Pilotprojekten für eine Autobahn mit Oberleitung.

      3. Sicherheitslücke: Kundendaten von IPC-Computer kopiert
        Sicherheitslücke
        Kundendaten von IPC-Computer kopiert

        Angreifer konnten die Kundendaten des Versandhändlers IPC-Computer auslesen. Betroffen sind 221.000 Kunden, die umgehend ihr Passwort ändern sollten.


      1. 12:27

      2. 12:03

      3. 12:02

      4. 11:43

      5. 11:03

      6. 10:47

      7. 10:35

      8. 10:29