¿Cómo mostrar kanji japonés dentro de una ventana de cmd debajo de Windows?

Tengo un servidor de Windows 2003 en inglés con soporte de idioma asiático activado. Las dos únicas fonts disponibles para la ventana de comandos (configuraciones de cmd) son raster y consola lucida. Ni el uno ni el otro muestran el Kanji correctamente (se muestra como signo de interrogación).

¿Hay alguna solución para que se muestren? ¿Hay alguna transformación que deba hacer en mi aplicación antes de escribir en la consola?

Estoy escribiendo UTF8 en este momento, lo que también funciona bien para algunos caracteres que no son ASCII (como öäüß). El código fuente que se escribe en la consola tiene los datos correctos (el Kanji se puede ver en el depurador correctamente). Si es importante, estoy escribiendo la aplicación en C #.

EDIT: encontré este enlace que explica los problemas detrás del problema y presenta una solución (que involucra llamadas nativas) para C #. Esto funcionará bien con .NET 4.5 (no probado por mí)

Si encuentra una fuente que muestre el juego de caracteres Kanji, puede agregar esa fuente a la Configuración de cmd agregando valores debajo de esta clave de Registro:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont\ 

Valores:

 Name: 00 Data: Consolas 

He hecho esto antes pero encontré esta referencia en SuperUser: https://superuser.com/q/55318

Espero que esto ayude

¿Cómo está su aplicación escribiendo resultados? Las llamadas stdio basadas en C byte como printf no admitirán UTF-8 en Windows a menos que haya configurado específicamente la consola para usar encoding UTF-8 diciendo chcp 65001 && somecommand (y aun así hay problemas).

Sin chcp , la consola utilizará la página de códigos predeterminada de la instalación de Windows, en este caso cp1252, y escribir en kanji será imposible incluso si la fuente de la consola que está utilizando tiene glifos para ella.

Si desea escribir Unicode en la consola de manera confiable, deberá usar interfaces basadas en caracteres como wprintf .

Así es como puedo obtener la entrada / salida china en cmd.exe ejecutándose en la versión en inglés de Windows 7 Pro.

  1. Instale console2, que es un front-end para cmd.exe (y otras shells).

  2. Después de la instalación, siga las instrucciones aquí

    • Eliminar la clave “Ventana de comandos de Console2” en el registro
    • Importe los siguientes datos en el registro de Windows:

    • Para chino (中文) Windows XP y Vista:

       Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Console\Console2 command window] "CodePage"=dword:000003a8 "FontSize"=dword:000a0000 "FontFamily"=dword:00000036 "FontWeight"=dword:00000190 "FaceName"="細明體" "HistoryNoDup"=dword:00000000 
    • Para japonés (日本語) Windows XP y Vista:

       Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Console\Console2 command window] "CodePage"=dword:000003a8 "FontSize"=dword:000a0000 "FontFamily"=dword:00000036 "FontWeight"=dword:00000190 "FaceName"="MS 明朝" "HistoryNoDup"=dword:00000000 
  3. Puede o no tener que cambiar la fuente. Inicialmente, tenía la fuente establecida en @NimSum, y los caracteres chinos salían girando 90 grados. Luego cambié a NimSum (sin el @) y salió correctamente. Luego, solo por curiosidad, me cambié a Consola y todavía puedo ver los caracteres chinos. Así que no estoy seguro si realmente tiene que configurar la fuente o no.