Unicode => Ansi und zurück



  • Mein Problem ist jetzt folgendes:

    Die Anwendung soll Unicode aufnehmen können und diesen an eine DB weitergeben. Die DB soll aber nicht auf Unicode umgestellt werden (läuft bereits beim Kunden).

    Das heißt ja, dass ich die Unicode-Texte in ANSI kodieren muss. Da ich aber den Zeichensatz des Projektes auf Unicode geändert habe, kann ich WideCharToMultiByte nicht mehr nutzen ...

    Stimmt das?



  • Dann versuch's doch mal mit dem Umwandlungsmakro T2CA() (oder T2A()), das sollte eigentlich funktionieren (und wandelt einen TCHAR* nach char* um).

    Edit: Und zum Rücklesen aus der DB nimmst du entsprechend A2T().



  • Danke schonmal ...

    Habe da aber immer noch ein Verständnisproblem ... wenn ich einen Unicode-Text in einen Ansi konvertiere, dann werden die Unicode-Zeichen, die in ANSI nicht vorhanden sind, durch beliebige anderen Zeichen ersetzt ...

    Dann kann die konvertieren von ANSI zu UNICODE doch nicht mehr vernünftig funktionnieren? Oder versteh ich etwas falsch?

    P.S.: schlagt mich ruhig, wenn es hilft ...



  • ItsMe84 schrieb:

    Habe da aber immer noch ein Verständnisproblem ... wenn ich einen Unicode-Text in einen Ansi konvertiere, dann werden die Unicode-Zeichen, die in ANSI nicht vorhanden sind, durch beliebige anderen Zeichen ersetzt ...

    Genau so ist es. Es ist zwar kein beliebigen Zeichen, sondern i.d.R. "?".

    ItsMe84 schrieb:

    Dann kann die konvertieren von ANSI zu UNICODE doch nicht mehr vernünftig funktionnieren? Oder versteh ich etwas falsch?

    Die Konvertierung funktioniert schon vernünftig. Nur ist das Ergebnis nicht mehr das, was Du ursprünglich gedacht hast...


Anmelden zum Antworten