Tengo un pequeño programa de consola C# que genera texto utilizando Console.WriteLine. entonces tubería esta salida en un archivo de texto como:ventanas cmd tubería no unicode incluso con el modificador/U
c:myprogram > textfile.txt
Sin embargo, el archivo es siempre un archivo de texto ANSI, incluso cuando comienzo cmd con el modificador/u. cmd /? dice acerca del modificador/u:
/T hace que la salida de comandos internos a una tubería o un archivo para ser Unicode
Y de hecho hace la diferencia, cuando hago un
c:echo "foo" > text.txt
la text.txt es unicode (sin BOM)
me pregunto por qué tubería de la salida de ¿Mi programa de consola en un nuevo archivo no crea un archivo Unicode de la misma manera y cómo podría cambiar eso?
Acabo de utilizar Windows Power Shell (que produce un archivo Unicode con la lista de materiales correcta), pero me gustaría saber cómo hacerlo con cmd.
Gracias!
Sí, creo que estás haciendo algo con eso. –
La página de códigos de la consola está establecida por 'SetConsoleOutputCP'. Puede configurarlo en lo que desee: PS lo configura en Unicode, y puede hacer lo mismo si lo desea utilizando P/Invoke. – Ben