Ist UTF-8 zum Lesen / Schreiben von asiatischen Sprachen geeignet?

7

Ich akzeptiere Benutzereingaben über ein Webformular (als UTF-8), speichere sie in einer MySQL DB (mit UTF-8 Zeichensatz) und erzeuge später eine Textdatei (codiert als UTF-8). Ich frage mich, ob es eine Chance auf Textkorruption mit UTF-8 anstelle von etwas wie UCS-2 gibt? Ist UTF-8 in dieser Situation gut genug?

    
Jon Tackabury 11.08.2009, 17:45
quelle

5 Antworten

14

Darüber hinaus ist es vielleicht die einzige Kodierung, die Sie jemals in Erwägung ziehen sollten.

Eine gute Lektüre zu diesem Thema:

Das absolute Minimum, das jeder Softwareentwickler unbedingt, unbedingt über Unicode und Zeichensätze (keine Ausreden!) von Joel Spolsky

    
karim79 11.08.2009, 17:46
quelle
10

Wenn Sie mit sehr viel asiatischem Text arbeiten (mehr als lateinischer Text), sollten Sie UTF-16 in Betracht ziehen. UTF-8 kann den gesamten Unicode-Zeichenbereich genau darstellen, ist jedoch für Text optimiert, der hauptsächlich aus ASCII besteht. UTF-16 ist platzsparend über die gesamte einfache mehrsprachige Ebene .

Aber UTF-8 ist sicherlich "gut genug" - es wird keine Korruption entstehen, einfach weil Sie UTF-8 verwenden, sagen wir UTF-16.

    
John Calsbeek 11.08.2009 17:52
quelle
2

UTF-8 kann ein beliebiges Unicode-Zeichen darstellen. Als solches sollten Sie kein Problem mit UTF-8 haben.

Tatsächlich kann UTF-8 sogar einige Zeichen darstellen, die UCS-2 nicht kann (UCS-2 kann nur U + 0000 bis U + FFFF darstellen; UTF-8, UTF-16 und UCS-4 behandeln alle Unicode-Codepunkte )

    
bdonlan 11.08.2009 17:46
quelle
1

Soweit ich weiß, soll UTF-8 alle diese früheren Unicode-Varianten umfassen, also sollte es in Ordnung sein, es über UCS-2 zu verwenden. Sehen Sie Ссылка und schauen Sie sich die Seitenleiste für die 5.0 Buchkapitel an; Teile 9-12 sollten das sein, wonach Sie suchen.

    
Nathan Kleyn 11.08.2009 17:48
quelle
0

Es funktioniert wunderbar mit Devanagari.

    
Cyril Gupta 11.08.2009 18:23
quelle

Tags und Links