Ja, aber viele
DBMS machen es sich einfach mit der Speicherverwaltung und nehmen 3 oder 4 Byte pro "UTF-8"-Char, als Datenbreite für das jeweilige Feld.
1 bis 3 Byte pro Char, für den UCS-2-Bereich und der vollte
Unicode-Bereich benötigt bis zu 4 Byte.
Ach ja, mit normalisieren war nicht das Charset gemeint, sondern die Tabellenstruktur,
also die vielen Spalten auf mehrere Tabellen aufteilen und Gleiches zusammenzufassen.
Warum willst du denn an dieser Stelle rumschrauben?
- Speicherplatz auf der Festplatte? (ok)
- aber dei der Übertragung sollten die
DBMS doch intelligenter sein und ungenutzten Speicherplatz nicht mit übertragen
- ansonsten kann man bestimmt auch gut eine Komprimierung in den Datenverkehr einschalten, welche die leeren Bereiche quasi weglässt.
- Und außerdem kann man die Daten auch in einer anderen Codierung übertragen, als wie sie in der
DB stehen? (z.B. als UTF-8 in der
DB belassen und die Connection auf Win1252 umstellen)
Daten ohne Tabellenformat exportieren,
die Tabellen oder gleich die ganze Datenbank mit dem gewünschten Charset neu erstellen
und dann die Daten wieder importieren.