Lets sagen, dass ich dieses Fragment von Code haben, die eine Unicode-CLR-String mit kyrillischen Buchstaben gibtUnicode-Zeichenketten in C++/CLI
property String^ EIDErrorDescriptionSr {
String^ get()
{
switch(EIDErrorCode)
{
case EID_OK: return "Операција успешно завршена";
...
Wenn ich die Eigenschaft in C# -Code lesen Sie diese Montage Referenzierung, erhalte ich einen Haufen des "?" als ob der C++ - Compiler die Zeichenfolge zu Single-Byte-Zeichen "verflacht".
Ich habe die C++ Quelldatei als UTF-8 speichern (auch Unicode) und ich bekomme immer diese Warnung vom Compiler für jeden Nicht-ansi Charakter:
C4566 Warnung: Zeichen dargestellt von Universal- Charakter-Name ‚\ u041E‘ kann nicht im aktuellen Codepage (1252)
nun dargestellt wird, gibt es einen Compiler-Schalter Compiler zu erzwingen Literale als Unicode zu behandeln? Ich kann keinen finden.
Versuchen Sie ein Unicode-String-Literal: 'L" ... "'. – Philipp
d'oh. Danke, es funktioniert. Ich wurde so gehängt, den Compiler zu beschuldigen, dachte nicht einmal darüber nach. – mmix
kann ich Ihren Kommentar zu einer akzeptierten Antwort fördern? – mmix