Der Windows _setmbcp Funktion ermöglicht es jede gültige Code Seite ...Warum ist UTF-8 nicht als "ANSI" -Codepage zulässig?
(außer UTF-7 und UTF-8, die nicht unterstützt)
OK, nicht unterstützt UTF-7 Marken Sinn: Zeichen haben nicht eindeutige Darstellungen und führen zu Komplexität und Sicherheitsrisiken.
Aber warum nicht UTF-8?
Wie ich es verstehe, die "ANSI" Versionen der Windows-API-Funktionen konvertieren ihre Argumente in UTF-16, rufen Sie die entsprechende "W" -Funktion, und konvertieren Sie alle Zeichenfolgen in der Ausgabe in "ANSI". Das habe ich manuell gemacht. Warum kann Windows das nicht für mich tun?
Wussten Sie, dass CP65001 Windows-Name für UTF-8 ist? Es ist nicht gut dokumentiert, aber Sie können es in einer überraschenden Anzahl von Orten verwenden, obwohl es einige Fehler zum Beispiel in 'WriteFile()' gibt. – hippietrail