Re: MBCS oder Unicode

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance



Hallo Jochen!

"Jochen Kalmbach [MVP]" <nospam-Jochen.Kalmbach@xxxxxxxxx> wrote:
Es mag dir nicht wichtig erscheinen, aber wenn ich in meiner DB zu 90% Texte habe, der aus lateinischen Buchstaben bestehen, dann ist die Frage nach UTF-8 oder UTF-16 IMHO wohl berechtigt. Oder hast du gerne 50% nutzlose Nullen rumhängen?
Hattest Du nicht das Konzept von Windows angezweifelt? Dann hab ich es falsch verstanden.

Aber wenn Du von Datenbanken anfängt: Die Datenbank muss aber das Encoding kennen was Du in sie reinstopfst! Sonst funktioniert das ganze Collation/Sorting und LIKE gar nicht mehr...

Gut, dann eine bessere Frage: Was ist denn besser für die DB, wenn sie z.B. mit ASP.NET kommuniziert? Nehme ich UTF-8, dann spare ich Platz bei Westeuropäern, der Provider muss aber immer zw. UTF-8 und UTF-16 bei ..NET wandeln.
Nehme ich UTF-16 entfällt die Wandlung, aber ich verschwende unter Umständen zu viel Platz.

Es gibt Combining Character, da benötigst Du ca. 200 UTF32-Codepoints um *ein* Zeichen darzustallen!!!
http://blogs.msdn.com/michkap/archive/2006/02/17/533929.aspx

Ah, das ist die Erklärung! Ich konnte ja auch nicht ahnen, dass jemand auf die Idee kommt, jedes Diakrit mit jedem (Basis-) Zeichen kombinieren zu wollen. IMHO ist da auch Blödsinn und geht an der Aufgabenstellung von UNICODE vorbei. Brauche ich jetzt etwa kein Satzprogramm wie Tex mehr?

Und es bleibt auch strittig, was als Zeichen zu interpretieren ist! Wenn ich in deinem Post das 'a' lösche, sollen dann die zig folgenden Diakrits mit rausfliegen? Ich wollte doch nur das 'a' gegen ein 'e' tauschen! Mist, jetzt muss ich alle x Modifizierer noch einmal eingaben. ;-)

Zeichen != Codepoint

Ist jetzt klar geworden. Ist UNICODE nun ein Zeichensatz oder eine Satzvorschrift??? Und wo ist die Trennung?
Gebe ich ein Integralzeichen ein, gefolgt von 2 Grenzen, was erhält man dann? Eine Kombination oder nicht?

Grüsse zurück,
Andreas

.



Relevant Pages

  • Re: Unicode (UTF-8) darstellen
    ... was 2 Bytes pro Zeichen benötigt. ... Im Gegensatz zu UTF-8 das ein bis 4 Zeichen für die ... 16 Bit Unicode (UTF-16). ...
    (microsoft.public.de.access)
  • Re: Zeichensatz in NetNews-Artikeln
    ... UTF-16) ein weitverbreitetes ... dass UTF-8 nicht grundsätzlich mehr Code ... verbraten, da QP-codierte Nachrichten nicht breiter als 76 Zeichen werden ...
    (de.soc.netzkultur.umgangsformen)
  • =?ISO-8859-15?Q?Re:_Wof=FCr_sind_AnsiStrings_=FCberhaupt_noch_brauchbar=3F?=
    ... Fehler in Design und Implementierung der neuen AnsiStrings ... dort ein UTF-16 String, wo ist das Problem? ... und dabei kommt man um funktionierende UTF-8 Strings ... UTF-8 Strings funktionieren ganz prächtig in Delphi, ...
    (de.comp.lang.delphi.misc)
  • Re: =?ISO-8859-15?Q?Wof=FCr_sind_AnsiStrings_=FCberhaupt_?= =?ISO-8859-15?Q?noch_bra
    ... Und zwar ohne Verwendung von UnicodeString, denn dann kann man von vornherein auf AnsiStrings verzichten. ... Bei Linux-Benutzern wirst Du Probleme bekommen, wenn Du die von UTF-8 abbringen möchtest. ... Klar, UTF-8 *kann* man zum Funktionieren bringen, wenn unter der Hand alles in UTF-16 abgewickelt wird. ...
    (de.comp.lang.delphi.misc)
  • Re: Unicode format
    ... UTF-8 does take fewer bytes than UTF-16LE. ... A text byte stream cannot be losslessly converted to UTF-16, ... the possible presence of errors in the byte stream encoding. ... Why would that be different with UTF-16 over UTF-8? ...
    (microsoft.public.sqlserver.programming)