Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C++CLI / VB .Net / .Net-Framework » UNICODE-Voreinstellung statt ANSI.

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
24.07.2010, 18:28 Uhr
Hochhaus



Hallo allerseits !

Ich bin Anfänger in Visual C++ 2008. Wie ändere ich die Voreinstellung in meinem Projekt so, dass standardmässig ANSI statt Unicode verwendet wird.

Vielen Dank im Voraus für die Antworten !


Hochhaus
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
24.07.2010, 18:45 Uhr
0xdeadbeef
Gott
(Operator)


Prokekteinstellungen -> Konfigurationseigenschaften -> Allgemein -> Zeichensatz.

Unicode -> _UNICODE wird definiert
Multi-Byte-Zeichensatz -> _MBCS
Nicht festgelegt -> nichts definiert.

Die Auswirkungen davon sind hier nachzulesen. Du willst "nicht festgelegt".
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
24.07.2010, 19:20 Uhr
Hochhaus



Danke für die Antwort ! Leider hat sich mein Problem damit nicht gelöst. In meinem kleinen Texteditor-Beispiel erscheinen die Umlaute "äöü" als kleine Quadrate, wenn sie im ANSI-Format gespeichert wurden ... ...

Weiss jemand Rat ? WinWord liest die ANSI-Dateien problemlos.


Vielen Dank für die Antworten ! Hochhaus
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
24.07.2010, 20:38 Uhr
0xdeadbeef
Gott
(Operator)


Das wird wohl an der Codepage liegen - konvertier das mit MultiByteToWideChar zu UTF-16 (Microsoft mag UTF-16 am liebsten), dann arbeite mit der UNICODE-Einstellung.

Natürlich musst du dazu die Codepage kennen, in der deine Daten gespeichert sind.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
27.07.2010, 14:05 Uhr
~Hochhaus
Gast



Zitat von 0xdeadbeef:
Das wird wohl an der Codepage liegen - konvertier das mit MultiByteToWideChar zu UTF-16 (Microsoft mag UTF-16 am liebsten), dann arbeite mit der UNICODE-Einstellung.

Natürlich musst du dazu die Codepage kennen, in der deine Daten gespeichert sind.




(Die Codepage kenne ich leider nicht.)



Mein Problem mit ganz gewöhnlichen Windows-Texten bleibt bestehen. Die Umlaute (äöü etc.) werden beim Speichern mit StreamWriter nicht im ANSI-Code erfasst.

Code:

StreamWriter ^sw = gcnew StreamWriter(dateiname, false, Encoding::UTF7);

Ich habe alle Möglichkeiten durchprobiert: UTF7, UTF8, UTF32, ASCII und Unicode. ANSI existiert leider nicht.

Ich möchte ein ganz gewöhnliches „ä“ als ein Byte speichern. So wie es eben üblich ist im uralten Windows-Ansi-Code.

Mein entsprechendes Delphi-Programm tut dies automatisch und ohne Rückfrage.

Vielen Dank im Voraus für die Hilfe !

Hochhaus
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
27.07.2010, 14:45 Uhr
Hochhaus



Ich habe die Lösung soeben gefunden:


StreamWriter ^sw = gcnew StreamWriter(dateiname, false, Encoding:efault);
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
27.07.2010, 16:07 Uhr
0xdeadbeef
Gott
(Operator)


Das ist aber dann kein C++ mehr. Ich schieb dich mal rüber ins .net-Forum.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C++CLI / VB .Net / .Net-Framework ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: