Gibt es Nachteile bei der Verwendung von UTF8 in einer Oracle-Datenbank?
7
Wir installieren die Bestellung einer konfigurierten Oracle-Datenbank und sie fragen uns, welche Zeichenkodierung wir haben möchten. Die Anwendung (in Java) ist nur in Englisch verfügbar, die Benutzer stammen jedoch aus verschiedenen Teilen der Welt.
Gibt es Gründe dafür, UTF8 oder einen anderen Unicode-Zeichensatz NICHT zu verwenden?
Ich werde weitere Links hinzufügen, sobald ich Zugriff auf die Oracle-Dokumente habe (die Website ist derzeit nicht verfügbar).
Mac
Die Oracle-Site ist aktiv und das Lesen der Dokumentation hat mich dazu gebracht, meine Antwort leicht zu ändern ...
Mac
9
Aber achten Sie auf :
Verwenden Sie den Zeichensatz UTF8 nicht als Datenbankzeichensatz, es sei denn, dies ist für die Kompatibilität mit Oracle Database-Clients und -Servern in Version 8.1.7 und früheren Versionen erforderlich oder wird von Ihrem Anwendungsanbieter ausdrücklich angefordert. Trotz eines sehr ähnlichen Namens ist UTF8 keine ordnungsgemäße Implementierung der Unicode-Codierung UTF-8. Wenn der UTF8-Zeichensatz verwendet wird, bei dem eine UTF-8-Verarbeitung erwartet wird, können Datenverlust und Sicherheitsprobleme auftreten. Dies gilt insbesondere für webbezogene Daten wie XML- und URL-Adressen.
Oracle empfiehlt AL32UTF8 als Datenbankzeichensatz. AL32UTF8 ist der Name von Oracle für die UTF-8-Codierung des Unicode-Standards.
Aber achten Sie auf :
Verwenden Sie den Zeichensatz UTF8 nicht als Datenbankzeichensatz, es sei denn, dies ist für die Kompatibilität mit Oracle Database-Clients und -Servern in Version 8.1.7 und früheren Versionen erforderlich oder wird von Ihrem Anwendungsanbieter ausdrücklich angefordert. Trotz eines sehr ähnlichen Namens ist UTF8 keine ordnungsgemäße Implementierung der Unicode-Codierung UTF-8. Wenn der UTF8-Zeichensatz verwendet wird, bei dem eine UTF-8-Verarbeitung erwartet wird, können Datenverlust und Sicherheitsprobleme auftreten. Dies gilt insbesondere für webbezogene Daten wie XML- und URL-Adressen.
Oracle empfiehlt AL32UTF8 als Datenbankzeichensatz. AL32UTF8 ist der Name von Oracle für die UTF-8-Codierung des Unicode-Standards.
quelle
Nur der eine; Sie haben einen vorhandenen Datensatz, für den Sie die aktuelle Zeichensatzcodierung nicht garantieren können.
In diesem Fall möchten Sie wahrscheinlich Abhilfe schaffen und trotzdem UTF8 verwenden.
quelle
Nein überhaupt nicht.
quelle
Ein halber Witz: Ja, Sie können keine Verbindung mehr zu alten Clients herstellen, die UTF nicht kennen.
quelle