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?
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.
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 )
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.