Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Klatsch und Tratsch (https://www.delphipraxis.net/34-klatsch-und-tratsch/)
-   -   Unicode fails (https://www.delphipraxis.net/206197-unicode-fails.html)

generic 29. Nov 2020 15:17

Unicode fails
 
Moin,

ich habe gerade schön gelacht. In einen TV-Beitrag haben die Umlaute mal richtig versaut.
Das möchte ich euch nicht vorenthalten:
https://www.youtube.com/watch?v=JjiaLf3jGxw&t=1405s

Ich würde mal tippen, dass die Schnittsoftware kein Unicode kann.

Wenn ihr auch Unicode fails kennt, dann schreibt die hier ruhig mal rein.

Bernhard Geyer 30. Nov 2020 07:13

AW: Unicode fails
 
Oder einfach jemand hat irgendwo zu viel UTF8-Codierung eingebaut.
Ist mir auch schon vorgekommen das an durch eine Systemänderung auf einmal an einer Stelle statt String ein UTF8-Codierter String gekommen ist.
Kommt auch vor obwohl überall mit Unicodestrings gearbeitet wurde.

Helmi 30. Nov 2020 09:51

AW: Unicode fails
 
vielleicht heißt der ja so :-)

Gausi 30. Nov 2020 17:43

AW: Unicode fails
 
So eine falsche Kodierung wie im Video oben hatte ich mal bei einer Bestellung im xkcd-Shop. Bei der Stadt war das "ü" kaputt, und in Namen das "ß". Ist aber trotzdem ohne Verzögerung angekommen. :-D

Ansonsten: Im Rahmen meiner ID3-Tag-Library bin ich mal auf ein mp3-File gestoßen, bei dem die Informationen "seltsam" angezeigt wurden. Mit Hilfe von HxD habe ich dann erkannt, dass folgende Kodierung verwendet wurde:
  • UTF-16 (ok, kein Problem)
  • Nullterminiert (ist ja durchaus sinnvoll)
  • mit Byte-Order-Mark (kann man machen ...)
  • das alles aber zeichenweise :pale:
Kein Witz - 6 Byte pro Zeichen. Für jedes 2-Byte Zeichen zusätzliche 2 Byte BOM und 2 Byte Terminator. Ich habe dann beschlossen, für diesen Murks keine Erkennungs-Heuristik einzubauen. Bei sowas wird dann einfach Murks angezeigt. :lol:

himitsu 30. Nov 2020 17:55

AW: Unicode fails
 
Ich hatte nichtmal gesehn wo der Fehler sein sollte?
Hab mir aber auch nicht jede Sekunde des Films genau angeguckt.

@Gausi: Na komm schon, das zu implememntieren wäre doich witzig geworden.
Noch besser wäre es aber, wenn jedes Zeichen auch noch anders kodiert worden wäre.
Ob die beim NSA auch so faul sind? Dann hätten wir jetzt eine neue "Verschlüsselung" gefunden.



Ein Deutscher Eurofighter-Pilot.
Und im Vorspann kommt Deutschland auch nur einmal vor ... außer den Braunkohledingern hat Deutschland doch nichts Großartiges zu bieten
und wenn wir die bald alle abgeschaltet haben, dann existieren wir in solchen Dokumentationen garnicht mehr. :cry:

[edit]
Grad nochmal geguckt und da war es ja ... aber nach ner halben Sekunde durch die Werbung verdeckt. (sollte ich hier auch mal den YT-Werbeblocker installieren)


Ich denk mal das Programm kann Unicode, aber irgendwo wurde UTF-8 als ANSI/ASCII behandelt, z.B. ohne BOM gespeichert und dann beim Einlesen mit falscher Kodierung.


Wir haben jetzt einen Linux-"Guru" in der Firma
und weil sein Programm nicht mit UTF-8-Dateien mit BOM klar kommt und abstürzt,
wurden alle Dateien als UTF-8 ohne BOM neu abgespeichert,
aber nun kommt Delphi nicht mit UTF-8 ohne BOM klar
und speichert das wieder mit BOM ab und wenn das dann im GitHub landet,
dann verreckt dessen CI, wenn es die SQL-Scripte testen will.

Der schöne Günther 30. Nov 2020 20:07

AW: Unicode fails
 
Zitat:

Zitat von himitsu (Beitrag 1478242)
Wir haben jetzt einen Linux-"Guru" in der Firma
und weil sein Programm nicht mit UTF-8-Dateien mit BOM klar kommt und abstürzt,
wurden alle Dateien als UTF-8 ohne BOM neu abgespeichert,
aber nun kommt Delphi nicht mit UTF-8 ohne BOM klar
und speichert das wieder mit BOM ab und wenn das dann im GitHub landet,
dann verreckt dessen CI, wenn es die SQL-Scripte testen will.

Da stelle ich mir immer vor, wenn so Leute in 1970 dachten "In 50 Jahren haben wir fliegende Autos und Weltfrieden und so" und dann scheitert Computersoftware immer noch an Text-Encoding.

himitsu 30. Nov 2020 20:25

AW: Unicode fails
 
Nja, Problem ist ja, dass im Linux viele Programme ohne BOM davon ausgehen, dass es UTF-8 ist (bzw. die haben eine Encoding-Erkennung drin), während im Windows viele Programme standardmäßig von ANSI ausgehn.
Mit BOM wüsste jeder was es ist. :roll:

Bin ich der Einzige, der meint, dass man etwas so bauen sollte, dass Programme mit den frischinstallierten Standardeinstellungen etwas hinbekommen sollten?
k.A. was so schwer dran ist das BOM einfach zu ignorieren (oder besser noch zu behandeln), in dem Programm was er geschrieben hat, so dass auch Fremdprogramme (die ich nicht selbst programmiert habe) damit umgehen können?
Sorry, wenn ich zum Bearbeiten von SQL-Dateien (was selten passiert) gleich die schon offene Delphi-IDE benutzte, wenn ich parallel im DelphiCode rumfummle und keine "Lust" hab noch ein weiteres Programm zu installieren und zu nutzen. (ja, Codefolding, Codevervollständigung und so gibt es da nicht, aber brauch ich auch nicht)



Vor 20 Jahren wollte Intel in 10 Jahren (also vor 10) den P4 so weit haben, dass der mit 30 GHz läuft. (falls ich das vor Kurzem richtig gelesen hatte)
Datei aber bis zu 5 KW verbrät, also 20 A zieht (aus der Stecktose und somit am Starkstromstecker) und durch den Chip selbst 2500 A "rauchen" müssten (bei 2 V).
(wenn jetzt ein Chip grade mal so die 3 GHz schafft, ist das "schnell")

TiGü 1. Dez 2020 10:00

AW: Unicode fails
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1478258)
Da stelle ich mir immer vor, wenn so Leute in 1970 dachten "In 50 Jahren haben wir fliegende Autos und Weltfrieden und so" und dann scheitert Computersoftware immer noch an Text-Encoding.

Passend dazu:
https://xkcd.com/1953/

Und die zum eigentlichen Thema:
https://xkcd.com/1137/
https://xkcd.com/1209/

himitsu 1. Dez 2020 10:32

AW: Unicode fails
 
Falls jemand den Text nicht lesen kann.
202E schaltet von left-to-right um :zwinker:

Das ist hier auf irgendeinem Shortcut ... k.A. auf Welchem, ich erwisch ihn nur machmal und muß dann neu starten, weil ich den Shortcut mir nicht merken kann.
Genauso wie in der Delphi-IDE der Editormode mit dem grauenhaft permanenten Verhalten der Selektierung.

Redeemer 2. Dez 2020 17:19

AW: Unicode fails
 
Es gibt genügend Programme, die an UTF-16 scheitern, weil sie nur UCS-2 unterstützen. Von denen, die UTF-16 unterstützen, aber zum Speichern/Datentransfer meinen, sie würden UTF-8 benutzen, nutzen manche in Wirklichkeit CESU-8.

Delphi unterstützt seit der Einführung in Delphi 2009 UTF-16 komplett. UTF8Decode funktioniert bei mir hingegen in D2009 teils nicht mit z.B. großen Umlauten, weshalb ich eine eigene Decoderfunktion verwende. In neueren Delphis funktioniert mein Code nicht mit, dafür aber ohne diese eigene Decoderfunktion.

Unsere Telefonanlage in der Firma (Starface) ist sehr interessant: Die Mobile App ist unicode-fähig. Der Windows-Client kann nur UCS-2. Fügt man ein Zeichen außerhalb der BMP ein, kommt es trotzdem auf dem Handy richtig an, obwohl der Windows-Client es als zwei Klötzchen darstellt.

Zitat:

Zitat von Gausi (Beitrag 1478241)
Im Rahmen meiner ID3-Tag-Library bin ich mal auf ein mp3-File gestoßen, bei dem die Informationen "seltsam" angezeigt wurden. Mit Hilfe von HxD habe ich dann erkannt, dass folgende Kodierung verwendet wurde:
  • UTF-16 (ok, kein Problem)
  • Nullterminiert (ist ja durchaus sinnvoll)
  • mit Byte-Order-Mark (kann man machen ...)
  • das alles aber zeichenweise :pale:
Kein Witz - 6 Byte pro Zeichen. Für jedes 2-Byte Zeichen zusätzliche 2 Byte BOM und 2 Byte Terminator. Ich habe dann beschlossen, für diesen Murks keine Erkennungs-Heuristik einzubauen. Bei sowas wird dann einfach Murks angezeigt. :lol:

Bist du dir sicher, dass du UTF-16 meinst und nicht UCS-2?


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:53 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz