UTF-8 mit MySQL ... Sonderzeichen sind falsch

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Das nicht alle mit dem selben Codec eingelesen werden können ist ja klar, wenn die Russen KOI8-R nutzen und die Chinesen EUC-CN oder irgendein anderes Encoding nutzen sollte ja klar sein wenn man mal weiß was ein Encoding überhaupt ist.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Naja, ihr müßt ja nun mal wissen, welches encoding von wo kommt. Dann müßt ihr eben in ein Zielencoding codieren.

In Python macht man das immer über den "Umweg" Unicode, d.h. man bekommt einen Bytestring in Codierung "X", konvertiert den intern in Unicode (möglichst früh nach Erhalt des Strings) und codiert den Unicocde-String dann möglichst spät (also möglichst kurz vor dem Wegspeichern - wohin auch immer) in das Zielencoding.

Prinzipiell wird das in anderen Sprachen wohl ähnlich laufen (sofern die Unicode eingebaut haben).
Antworten