none
Visual studio will dateien in unicode speichern? RRS feed

  • Frage

  • Hallo, beim Speichern eines vb.net Projekts in Visual Studio 2010 erscheint die Meldung, dass einige Unicodezeichen nicht in der aktuellen Codepage angezeigt werden können und die Frage, ob die Files nun als Unicode gespeichert werden sollen. Wurden die Files vorher nicht in Unicode gespeichert?  Hat das Nachteile, wenn ich das zulasse?

    Danke im Voraus.

    Montag, 7. Mai 2012 13:02

Antworten

  • Hallo Stefan,

    wenn Du mathematische Zeichen verwendest, so dürfte das speichern der Projektdatein (Formulare etc.)
    im Unicode Format sinnvoll sein. Das hat betrifft nur den Text-Editor bzw. die Designer-Serialisierung.

    Es hat nichts mit den Dateinamen zu tun - da sollte man auf Sonderzeichen i. a. verzichten können -
    denn schon wenn man Build-Ereignisse verwendet, die über die Kommandozeile laufen, gibt dort Probleme
    (neben anderen älteren Tools).

    Und mit der Lauffähigkeit hat es überhaupt nichts zu tun, das .NET Compilat verwendet immer Unicode,

    Gruß Elmar

    Dienstag, 8. Mai 2012 10:10
    Beantworter

Alle Antworten

  • Hallo,

    seitens Visual Studio gibt es keine Probleme, aber wenn Du andere Programme verwendest,
    um die Quellcodedateien zu verarbeiten, könnten die Probleme haben. Siehe:
    Internationale Projekte in Visual Studio

    Wenn Du i. a. kein Unicode brauchst, sondern mit dem Westeuropäischen (ANSI) Zeichensatz klarkommst,
    solltest Du zunächst schauen, wer oder was der Verursacher ist.
    Sind es nur wenige Zeichenkonstanten, so könntest Du sie über Chr erzeugen.
    Oder die Zeichenketten als Ressource hinterlegen.

    Gruß Elmar

    Montag, 7. Mai 2012 15:19
    Beantworter
  • Ich verwende Labels, welche mathematische(aka griechische) Zeichen enthalten: Delta x,.. Schon ärgerlich, wenn das Formularlayout zur Hälfte per Designer und zur anderne Hälfte per Code entwickelt werden soll.

    Der Link behandelt Deployment Projekte. Dies ist ein wichtiger Punkt. Die Anwendung soll international lauffähig sein, also auch in Japan usw. Ich verstehe überhaupt nicht, dass es dann besser sein soll, den westeuropäische Zeichensat zu verwenden. Zitat:Deployment Projects do not support Unicode file or project names. Sehr verwirrt.

    Gruß Stefan

    Nachtrag: Etwas unklar ist, ob es Probleme mit unicode files oder unicode filenamen gibt, wobei zweiteres nicht aufrtitt.

    Dienstag, 8. Mai 2012 08:57
  • Hallo Stefan,

    wenn Du mathematische Zeichen verwendest, so dürfte das speichern der Projektdatein (Formulare etc.)
    im Unicode Format sinnvoll sein. Das hat betrifft nur den Text-Editor bzw. die Designer-Serialisierung.

    Es hat nichts mit den Dateinamen zu tun - da sollte man auf Sonderzeichen i. a. verzichten können -
    denn schon wenn man Build-Ereignisse verwendet, die über die Kommandozeile laufen, gibt dort Probleme
    (neben anderen älteren Tools).

    Und mit der Lauffähigkeit hat es überhaupt nichts zu tun, das .NET Compilat verwendet immer Unicode,

    Gruß Elmar

    Dienstag, 8. Mai 2012 10:10
    Beantworter
  • Ok, wieso dann aber die Warnung beim speichern der Datei und nicht beim Verwenden eines Unicode-Dateinamens???

    Dienstag, 8. Mai 2012 13:32
  • Hallo,

    die Warnung ergibt sich daraus, dass der Texteditor Dich darauf aufmerksam machen möchte,
    dass er die Datei in Unicode Format schreiben (intern ist immer Unicode) muss, damit kein Datenverlust auftritt.

    Für Probleme, die anderen Programm durch Dateinamen entstehen könnten, fühlt er sich wiederum nicht zuständig ;-)

    Gruß Elmar

    Dienstag, 8. Mai 2012 21:30
    Beantworter
  • Welche Zeichen sind das denn? Irgendwelche die > 127 sind, mit Sicherheit. Ich empfehle natürlich die Datei als Unicode File zu speichern, am Besten utf-8 kodiert mit BOM. Dann kannst du jedes beliebige Unicode Zeichen in Deiner Datei haben und bist unabhängig von Codepages. Nachteile? Nun, uralte Programme erkennen wohl die BOM nicht und können auch keine utf-8 Sequenzen dekodieren.

    Peter

    Montag, 8. August 2016 14:35