Hilo
distinto juego de caracteres (jiptohej) 2012-09-16 17:39:32
Hola a Todos:
Estoy utilizando el Dev-C en XP, W7 y Ubuntu. En los equipos windows
me encuentro con el siguiente problema:
"El juego de caracteres utilizado por el compilador y el editor es
diferente que el juego de caracteres utilizados por el intérprete de
windows cmd"
En el primer caso se utiliza el juego latin-1 y en el intérprete el
juego 850 de IBM.
He intentado medificar el juego de carácteres del intérprete mediante
la orden { strcpy(linea, "chcp 1252"); system(linea);} pero a pesar de
que se ejecuta bien, es como si no tuviera efecto.
El problema lo he solucionado haciendo una traducción de caracteres de
latin-1 a 850 en el propio programa (antes de enviar los caracteres a
printf) pero es una solución que no me gusta demasiado, creo que
utilizando chcp la solución debería ser mucho más sencilla, además de
conseguir que los caracteres que introdujera el usuario también
estarían en el mismo juego de caracteres.
Es posible que este no sea el foro más adecuado para plantear esta
consulta, pero también es posible que ya tengáis una solución
diferente.
Atentamente
José Luis Torre
ww.ehu.es
_______________________________________________
Lista de correo Cconclase Cconclase@listas.conclase.net
http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
Re: distinto juego de caracteres (Salvador Pozo) 2012-09-17 10:13:23
El pasado 2012-09-16 17:39:32, jiptohej escribió:
j> Hola a Todos:
j> Estoy utilizando el Dev-C en XP, W7 y Ubuntu. En los equipos windows
j> me encuentro con el siguiente problema:
j> "El juego de caracteres utilizado por el compilador y el editor es
j> diferente que el juego de caracteres utilizados por el intérprete de
j> windows cmd"
Hola:
Recientemente encontré un modo de hacer esto, usando el API de Windows. Llevaba tiempo intentando conseguirlo, sin éxito.
No hay soluciones elegantes ni portables, lo cual es bastante frustrante, pero esta funciona, y sólo requiere un par de líneas de código.
Se trata de la función SetConsoleOutputCP, de la que puedes ver la documentación en nuestra página:
http://winapi.conclase.net/curso/?winfun=SetConsoleOutputCP#inicio
Para usarla necesitarás incluir el fichero de cabecera "wincon.h":
----8<------
#include <wincon.h>
int main() {
// Activar el código de página "latín", para que se
// muestren correctamente acentos, la letra ñ, etc:
SetConsoleOutputCP(1252);
...
return 0;
}
----8<------
Por supuesto, puedes usar el código de página que prefieras, en este ejemplo he usado el 1252.
--
Salvador Pozo (Administrador)
mailto:salvador@conclase.net
_______________________________________________
Lista de correo Cconclase Cconclase@listas.conclase.net
http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
Re: distinto juego de caracteres (jiptohej) 2012-09-17 11:24:50
El día 17 de septiembre de 2012 12:13, Salvador Pozo
<salvador@conclase.net> escribió:
> El pasado 2012-09-16 17:39:32, jiptohej escribió:
>
> j> Hola a Todos:
> j> Estoy utilizando el Dev-C en XP, W7 y Ubuntu. En los equipos windows
> j> me encuentro con el siguiente problema:
> j> "El juego de caracteres utilizado por el compilador y el editor es
> j> diferente que el juego de caracteres utilizados por el intérprete de
> j> windows cmd"
>
> Hola:
>
> Recientemente encontré un modo de hacer esto, usando el API de Windows. Llevaba tiempo intentando conseguirlo, sin éxito.
>
> No hay soluciones elegantes ni portables, lo cual es bastante frustrante, pero esta funciona, y sólo requiere un par de líneas de código.
>
> Se trata de la función SetConsoleOutputCP, de la que puedes ver la documentación en nuestra página:
>
> http://winapi.conclase.net/curso/?winfun=SetConsoleOutputCP#inicio
>
> Para usarla necesitarás incluir el fichero de cabecera "wincon.h":
>
> ----8<------
> #include <wincon.h>
>
> int main() {
> // Activar el código de página "latín", para que se
> // muestren correctamente acentos, la letra ñ, etc:
> SetConsoleOutputCP(1252);
> ...
>
> return 0;
> }
> ----8<------
>
> Por supuesto, puedes usar el código de página que prefieras, en este ejemplo he usado el 1252.
>
> --
> Salvador Pozo (Administrador)
> mailto:salvador@conclase.net
> _______________________________________________
> Lista de correo Cconclase Cconclase@listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
Me temo que la configuración que tengo para el Dev-C++ 4.9.9.2 no es
la adecuada.
He probado con el siguiente código:
// #include <stdio.h>
#include <wincon.h>
// BOOL SetConsoleOutputCP(UINT wCodePageID );
int main(void)
{
SetConsoleOutputCP(1252);
printf("áéíóúÁÉÍÓÚÑñüÜ\n");
system("pause");
}
Y me proporciona el error siguiente:
Syntaxis error before "WCHAR"
Me parece que no tengo la biblioteca <wincon.h>
¿Viene aparte del Dev-C++?
Saludos
José Luis Torre
ww.ehu.es
_______________________________________________
Lista de correo Cconclase Cconclase@listas.conclase.net
http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
Re: distinto juego de caracteres (Salvador Pozo) 2012-09-17 11:36:02
Hola de nuevo:
j> Me parece que no tengo la biblioteca <wincon.h>
j> ¿Viene aparte del Dev-C++?
Prueba con:
#include <windows.h>
en lugar de
#include <wincon.h>
Es lo que pasa cuando respondes a dudas sin probar el código antes
No tengo instalado ahora Dev-C++, pero con Code::Blocks me da el mismo error que a ti. Incluyendo "windows.h" funciona. Supongo que debería bastar con definir alguna macro, para indicar que no vamos a usar caracteres "anchos" (wide char), pero de esta forma es más simple.
Lamento las molestias, ya nos dirás si así funciona.
Hasta pronto.
--
Salvador Pozo (Administrador)
mailto:salvador@conclase.net
_______________________________________________
Lista de correo Cconclase Cconclase@listas.conclase.net
http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
Re: distinto juego de caracteres (jiptohej) 2012-09-17 11:53:51
El día 17 de septiembre de 2012 13:36, Salvador Pozo
<salvador@conclase.net> escribió:
> Hola de nuevo:
>
> j> Me parece que no tengo la biblioteca <wincon.h>
> j> ¿Viene aparte del Dev-C++?
>
> Prueba con:
> #include <windows.h>
> en lugar de
> #include <wincon.h>
>
> Es lo que pasa cuando respondes a dudas sin probar el código antes
>
> No tengo instalado ahora Dev-C++, pero con Code::Blocks me da el mismo error que a ti. Incluyendo "windows.h" funciona. Supongo que debería bastar con definir alguna macro, para indicar que no vamos a usar caracteres "anchos" (wide char), pero de esta forma es más simple.
>
> Lamento las molestias, ya nos dirás si así funciona.
>
> Hasta pronto.
>
> --
> Salvador Pozo (Administrador)
> mailto:salvador@conclase.net
> _______________________________________________
> Lista de correo Cconclase Cconclase@listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
Hola Salvador:
Ante todo muchas gracias por contestarme tan rápidamente. He probado
tan como me dices con <windows.h> y compila bien, pero sin embargo
aparentemente no tiene efecto, ya que la representación gráfica de los
caracteres sigue sin coincidir con la obtenida en el editor del
Dev-C++
#include <windows.h>
int main(void)
{
// SetConsoleOutputCP(1252);
SetConsoleOutputCP(850);
printf("áéíóúÁÉÍÓÚÑñüÜ\n");
system("pause");
}
¿Habrá que probar con otro identificador de página o realmente no le
hace caso a SetConsoleOutputCP()?
Siempre he tenido que hacer modificaciones para corregir este tipo de
detalles, pero si funcionara SetConsoleOutputCP() sería una solución
interesante.
--
José Luis Torre
ww.ehu.es
_______________________________________________
Lista de correo Cconclase Cconclase@listas.conclase.net
http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
Re: distinto juego de caracteres (Salvador Pozo) 2012-09-17 13:29:52
j> ¿Habrá que probar con otro identificador de página o realmente no le
j> hace caso a SetConsoleOutputCP()?
j> Siempre he tenido que hacer modificaciones para corregir este tipo de
j> detalles, pero si funcionara SetConsoleOutputCP() sería una solución
j> interesante.
Hola:
En mi caso, para que la salida coincida con el texto usado en el editor, he tenido que asignar el código 1252 ó 1250. El código 850 es el que usa la consola de Windows por defecto, y el que usan los editores de Windows en modo gráfico es uno de los anteriores (1250 ó 1252).
En el código que adjuntas usas el 850, el otro está comentado.
No puedo probar con Dev-C++ porque no lo tengo instalado, pero creo que debería funcionar igualmente, ya que el compilador es el mismo que en Code::Blocks.
Si sigue sin funcionar, miraré a ver si puedo instalar Dev-C++ en otro ordenador para verificar cual es el problema...
Hasta pronto.
--
Salvador Pozo (Administrador)
mailto:salvador@conclase.net
_______________________________________________
Lista de correo Cconclase Cconclase@listas.conclase.net
http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
Re: distinto juego de caracteres (jiptohej) 2012-09-17 13:58:29
Hola Salvador:
He comprobado el código de salida de la función SetConsoleOutputCP() y
tal como me temía se ejecuta de forma incorrecta.
#include <windows.h>
//437 United States
//850 Multilingual (Latin I)
//852 Slavic (Latin II)
//855 Cyrillic (Russian)
//857 Turkish
//860 Portuguese
//861 Icelandic
//863 Canadian-French
//865 Nordic
//866 Russian
//869 Modern Greek
int main(void)
{
int rta;
// SetConsoleOutputCP(1252);
// SetConsoleOutputCP(850);
// SetConsoleOutputCP(1250);
// SetConsoleOutputCP(450);
rta = SetConsoleOutputCP(1520);
if (rta==0)
{
printf("error al ejecutar SetConsoleOutput()\n");
system("pause");
return 0;
}
printf("áéíóúÁÉÍÓÚÑñüÜ\n");
system("pause");
}
¿Alguna idea?
Saludos
El día 17 de septiembre de 2012 15:29, Salvador Pozo
<salvador@conclase.net> escribió:
> j> ¿Habrá que probar con otro identificador de página o realmente no le
> j> hace caso a SetConsoleOutputCP()?
> j> Siempre he tenido que hacer modificaciones para corregir este tipo de
> j> detalles, pero si funcionara SetConsoleOutputCP() sería una solución
> j> interesante.
>
> Hola:
>
> En mi caso, para que la salida coincida con el texto usado en el editor, he tenido que asignar el código 1252 ó 1250. El código 850 es el que usa la consola de Windows por defecto, y el que usan los editores de Windows en modo gráfico es uno de los anteriores (1250 ó 1252).
>
> En el código que adjuntas usas el 850, el otro está comentado.
>
> No puedo probar con Dev-C++ porque no lo tengo instalado, pero creo que debería funcionar igualmente, ya que el compilador es el mismo que en Code::Blocks.
>
> Si sigue sin funcionar, miraré a ver si puedo instalar Dev-C++ en otro ordenador para verificar cual es el problema...
>
> Hasta pronto.
>
> --
> Salvador Pozo (Administrador)
> mailto:salvador@conclase.net
> _______________________________________________
> Lista de correo Cconclase Cconclase@listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
--
José Luis Torre
ww.ehu.es
_______________________________________________
Lista de correo Cconclase Cconclase@listas.conclase.net
http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
Re: distinto juego de caracteres (jiptohej) 2012-09-17 14:05:06
Salva:
No hagas caso al comentario. El código está bien, lo que ocurre es que
cuando le proporcionas un identificador de página que no existe,
detecta error. Es decir comprueba el número de página.
Sin embargo, sigue si modificar realmente el juego de caracteres.
Saludos
El día 17 de septiembre de 2012 15:58, José Luis Torre
<joseluistorrehernandez@gmail.com> escribió:
> Hola Salvador:
>
> He comprobado el código de salida de la función SetConsoleOutputCP() y
> tal como me temía se ejecuta de forma incorrecta.
>
> #include <windows.h>
>
> //437 United States
> //850 Multilingual (Latin I)
> //852 Slavic (Latin II)
> //855 Cyrillic (Russian)
> //857 Turkish
> //860 Portuguese
> //861 Icelandic
> //863 Canadian-French
> //865 Nordic
> //866 Russian
> //869 Modern Greek
>
>
>
> int main(void)
> {
> int rta;
>
> // SetConsoleOutputCP(1252);
> // SetConsoleOutputCP(850);
> // SetConsoleOutputCP(1250);
> // SetConsoleOutputCP(450);
> rta = SetConsoleOutputCP(1520);
> if (rta==0)
> {
> printf("error al ejecutar SetConsoleOutput()\n");
> system("pause");
> return 0;
> }
> printf("áéíóúÁÉÍÓÚÑñüÜ\n");
> system("pause");
> }
>
> ¿Alguna idea?
>
> Saludos
>
>
> El día 17 de septiembre de 2012 15:29, Salvador Pozo
> <salvador@conclase.net> escribió:
>> j> ¿Habrá que probar con otro identificador de página o realmente no le
>> j> hace caso a SetConsoleOutputCP()?
>> j> Siempre he tenido que hacer modificaciones para corregir este tipo de
>> j> detalles, pero si funcionara SetConsoleOutputCP() sería una solución
>> j> interesante.
>>
>> Hola:
>>
>> En mi caso, para que la salida coincida con el texto usado en el editor, he tenido que asignar el código 1252 ó 1250. El código 850 es el que usa la consola de Windows por defecto, y el que usan los editores de Windows en modo gráfico es uno de los anteriores (1250 ó 1252).
>>
>> En el código que adjuntas usas el 850, el otro está comentado.
>>
>> No puedo probar con Dev-C++ porque no lo tengo instalado, pero creo que debería funcionar igualmente, ya que el compilador es el mismo que en Code::Blocks.
>>
>> Si sigue sin funcionar, miraré a ver si puedo instalar Dev-C++ en otro ordenador para verificar cual es el problema...
>>
>> Hasta pronto.
>>
>> --
>> Salvador Pozo (Administrador)
>> mailto:salvador@conclase.net
>> _______________________________________________
>> Lista de correo Cconclase Cconclase@listas.conclase.net
>> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
>> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
>
>
> --
> José Luis Torre
> ww.ehu.es
--
José Luis Torre
ww.ehu.es
_______________________________________________
Lista de correo Cconclase Cconclase@listas.conclase.net
http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
Re: distinto juego de caracteres (Salvador Pozo) 2012-09-17 14:27:02
Hola:
Bueno, he compilado el nuevo código que envías, y me ha pasado una cosa curiosa.
Antes de nada, la función SetConsoleOutputCP te dará un error si usas un código de página que no esté registrado.
Puedes usar el programa "regedit.exe" para ver el registro (sólo para verlo, no es buena idea modificarlo), y ver qué códigos de página están disponibles en tu ordenador.
En mi caso hay unos cuantos. Por lo que puedo deducir, hay dos valores interesantes:
ACP, que debe ser el código de página por defecto para Windows GUI, que en mi caso vale 1252.
OEMCP, que supongo que es el código de página por defecto para la consola, que es 850.
En tu ejemplo, tal como está, se produce un error porque intentamos cargar el código de página 1520 (no el 1250), que no está registrado (al menos en mi ordenador).
No quisiera parecer pesado, pero asegúrate de que intentas activar el código de página correcto.
Por cierto, la "cosa curiosa" que me ha pasado es que he cortado y pegado el código desde tu mensaje, usando el formato del foro. En la página uso la codificación UTF-8, y al pegar el código en en editor de Code::Blocks ha mantenido la codificación, por lo que, a pesar de activar correctamente el código de página, el texto mostrado no tenía nada que ver con el que aparece en el programa.
Esto lo digo sólo como curiosidad, por si a alguien le pasa lo mismo intentando ver cómo funcionan estos programas.
Imagino que si se activan los WCHAR para el proyecto esto no pasará, pero no lo he verificado.
Hasta pronto.
--
Salvador Pozo (Administrador)
mailto:salvador@conclase.net
_______________________________________________
Lista de correo Cconclase Cconclase@listas.conclase.net
http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
Hola Salvador:
Ni por un momento pienses lo de "pesado", te agradezco todos tus
comentarios. A mí me interesa mucho resolver este tema.
Yo también he comprobado que si le das un código de página no
registrado da error. Eso lo hace bien.
Por otro lado, yo no suelo trabajar con el registro, pero he
comprobado que tengo 139 entradas para CodePage, entre las cuales está
la 1252.
Esta última la he probado y los caracteres que me salen son tal como
los puedes ver en el fichero .bmp que te agrego.
Saludos
José Luis
El día 17 de septiembre de 2012 16:27, Salvador Pozo
<salvador@conclase.net> escribió:
> Hola:
>
> Bueno, he compilado el nuevo código que envías, y me ha pasado una cosa curiosa.
>
> Antes de nada, la función SetConsoleOutputCP te dará un error si usas un código de página que no esté registrado.
>
> Puedes usar el programa "regedit.exe" para ver el registro (sólo para verlo, no es buena idea modificarlo), y ver qué códigos de página están disponibles en tu ordenador.
>
> En mi caso hay unos cuantos. Por lo que puedo deducir, hay dos valores interesantes:
>
> ACP, que debe ser el código de página por defecto para Windows GUI, que en mi caso vale 1252.
> OEMCP, que supongo que es el código de página por defecto para la consola, que es 850.
>
> En tu ejemplo, tal como está, se produce un error porque intentamos cargar el código de página 1520 (no el 1250), que no está registrado (al menos en mi ordenador).
>
> No quisiera parecer pesado, pero asegúrate de que intentas activar el código de página correcto.
>
> Por cierto, la "cosa curiosa" que me ha pasado es que he cortado y pegado el código desde tu mensaje, usando el formato del foro. En la página uso la codificación UTF-8, y al pegar el código en en editor de Code::Blocks ha mantenido la codificación, por lo que, a pesar de activar correctamente el código de página, el texto mostrado no tenía nada que ver con el que aparece en el programa.
>
> Esto lo digo sólo como curiosidad, por si a alguien le pasa lo mismo intentando ver cómo funcionan estos programas.
>
> Imagino que si se activan los WCHAR para el proyecto esto no pasará, pero no lo he verificado.
>
> Hasta pronto.
>
> --
> Salvador Pozo (Administrador)
> mailto:salvador@conclase.net
> _______________________________________________
> Lista de correo Cconclase Cconclase@listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
--
José Luis Torre
ww.ehu.es
_______________________________________________
Lista de correo Cconclase Cconclase@listas.conclase.net
http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
Re: distinto juego de caracteres (Salvador Pozo) 2012-09-17 16:48:42
Hola:
Pues he descargado e instalado Dev-C++, y el programa me funciona perfectamente.
De modo que el problema debe estar en alguna diferencia entre tu equipo y el mio. Para intentar determinar qué nos está causando estos quebraderos de cabeza empecemos por determinar qué sistema operativo y versiones del compilador e IDE estás usando.
Yo uso Windows 7, con la versión 4.9.9.2 de Dev-C++, sin actualizar.
La imagen que has enviado corresponde a un fichero de código fuente con el código de página 1252, ejecutado en una consola con el código de página 850. Es decir, lo mismo que si no usáramos la función SetConsoleOutputCP.
También sería interesante que enviaras en un adjunto el fichero fuente que estás usando, con el fin de verificar si la codificación es efectivamente la 850.
También sería interesante saber si usas un proyecto para consola o sólo un fichero fuente, y si es un programa C o C++.
De momento no se me ocurre nada más, lo siento.
Hasta pronto.
--
Salvador Pozo (Administrador)
mailto:salvador@conclase.net
_______________________________________________
Lista de correo Cconclase Cconclase@listas.conclase.net
http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
Re: distinto juego de caracteres (jiptohej) 2012-09-18 15:26:03
Hola Salvador:
He probado el código en una máquina XP y el resultado sigue siendo el mismo.
Por favor, envíame el código que te funciona bien, para probarlo en mis equipos.
Me temo que el problema va a ser algo sobre la configuración de usuarios.
Saludos
José Luis
El día 17 de septiembre de 2012 18:48, Salvador Pozo
<salvador@conclase.net> escribió:
> Hola:
>
> Pues he descargado e instalado Dev-C++, y el programa me funciona perfectamente.
>
> De modo que el problema debe estar en alguna diferencia entre tu equipo y el mio. Para intentar determinar qué nos está causando estos quebraderos de cabeza empecemos por determinar qué sistema operativo y versiones del compilador e IDE estás usando.
>
> Yo uso Windows 7, con la versión 4.9.9.2 de Dev-C++, sin actualizar.
>
> La imagen que has enviado corresponde a un fichero de código fuente con el código de página 1252, ejecutado en una consola con el código de página 850. Es decir, lo mismo que si no usáramos la función SetConsoleOutputCP.
>
> También sería interesante que enviaras en un adjunto el fichero fuente que estás usando, con el fin de verificar si la codificación es efectivamente la 850.
>
> También sería interesante saber si usas un proyecto para consola o sólo un fichero fuente, y si es un programa C o C++.
>
> De momento no se me ocurre nada más, lo siento.
>
> Hasta pronto.
>
>
> --
> Salvador Pozo (Administrador)
> mailto:salvador@conclase.net
> _______________________________________________
> Lista de correo Cconclase Cconclase@listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
--
José Luis Torre
ww.ehu.es
_______________________________________________
Lista de correo Cconclase Cconclase@listas.conclase.net
http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
Re: distinto juego de caracteres (Salvador Pozo) 2012-09-19 17:57:27
Hola:
A ver, creo que ya sé lo que está pasando...
En la página de Microsoft hay un artículo titulado "SetConsoleOutputCP sólo es efectivo con fuentes Unicode":
http://support.microsoft.com/kb/99795/es
Donde explica precisamente eso, que esta función sólo es efectiva si se ha seleccionado una fuente unicode para la consola.
Sospecho que yo tengo seleccionada una (lo he verificado), y vosotros no. En cualquier caso, es relativamente sencillo modificar esa fuente:
1) Abrir una consola Windows.
2) Desplegar el menú del sistema (en el icono de la parte superior izquierda de la ventana) y seleccionar "Predeterminados".
3) Activar la pestaña "Fuentes".
4) Seleccionar una fuente TrueType, si está disponible, en lugar de "Fuentes de mapa de bits". (Yo tengo "Lucida console".)
De este modo, la configuración será la usada para todas las consolas a partir de este momento.
Puede que alguno de los pasos cambie dependiendo del sistema operativo, pero la idea básica creo que queda claro.
A ver si ahora funciona, ya me contaréis.
Hasta pronto.
--
Salvador Pozo (Administrador)
mailto:salvador@conclase.net
_______________________________________________
Lista de correo Cconclase Cconclase@listas.conclase.net
http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
Re: distinto juego de caracteres (yolmer) 2012-09-19 18:16:17
>
> A ver si ahora funciona, ya me contaréis.
>
> Hasta pronto.
>
>
>
> --
> Salvador Pozo (Administrador)
> mailto:salvador@conclase.net
> _______________________________________________
> Lista de correo Cconclase Cconclase@listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
Si funciona, ya había visto eso en una página en taringa y no le presté
atención, a veces no debemos dejar pasar por alto ningún detalle
_______________________________________________
Lista de correo Cconclase Cconclase@listas.conclase.net
http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
Re: distinto juego de caracteres (jiptohej) 2012-09-19 18:47:10
Muchas gracias.
Si, si funciona.
¡Que no se nos ocurra decir que era una tontería! ...que es lo que
luego se dice.
Saludos
José Luis
El día 19 de septiembre de 2012 20:16, Yolmer Rosales
<yolmer.rosales@gmail.com> escribió:
>> A ver si ahora funciona, ya me contaréis.
>>
>> Hasta pronto.
>>
>>
>>
>> --
>> Salvador Pozo (Administrador)
>> mailto:salvador@conclase.net
>> _______________________________________________
>> Lista de correo Cconclase Cconclase@listas.conclase.net
>> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
>> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
>
> Si funciona, ya había visto eso en una página en taringa y no le presté
> atención, a veces no debemos dejar pasar por alto ningún detalle
>
>
>
> _______________________________________________
> Lista de correo Cconclase Cconclase@listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
--
José Luis Torre
ww.ehu.es
_______________________________________________
Lista de correo Cconclase Cconclase@listas.conclase.net
http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
Re: distinto juego de caracteres (jiptohej) 2012-09-27 13:12:16
Volviendo con el juego de caracteres:
Ya hemos visto que los caracteres escritos dentro del propio código,
con la modificación del SetConsoleOutputCP(), se visualizan
correctamente.
Sin embargo, ahora me doy cuenta que cuando introduzco los caracteres
desde el teclado, al volver a mostrarlos se muestran en diferente
código.
Supongo que deberá existir algo como SetConsoleInputCP(), pero lo he
probado y aparentemente no existe.
¿Alguna idea?
José Luis
El día 19 de septiembre de 2012 20:47, José Luis Torre
<joseluistorrehernandez@gmail.com> escribió:
> Muchas gracias.
>
> Si, si funciona.
> ¡Que no se nos ocurra decir que era una tontería! ...que es lo que
> luego se dice.
>
>
> Saludos
> José Luis
>
> El día 19 de septiembre de 2012 20:16, Yolmer Rosales
> <yolmer.rosales@gmail.com> escribió:
>>> A ver si ahora funciona, ya me contaréis.
>>>
>>> Hasta pronto.
>>>
>>>
>>>
>>> --
>>> Salvador Pozo (Administrador)
>>> mailto:salvador@conclase.net
>>> _______________________________________________
>>> Lista de correo Cconclase Cconclase@listas.conclase.net
>>> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
>>> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>>
>>
>> Si funciona, ya había visto eso en una página en taringa y no le presté
>> atención, a veces no debemos dejar pasar por alto ningún detalle
>>
>>
>>
>> _______________________________________________
>> Lista de correo Cconclase Cconclase@listas.conclase.net
>> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
>> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
>
>
> --
> José Luis Torre
> ww.ehu.es
--
José Luis Torre
ww.ehu.es
_______________________________________________
Lista de correo Cconclase Cconclase@listas.conclase.net
http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
Re: distinto juego de caracteres (Salvador Pozo) 2012-09-27 18:35:25
El pasado 2012-09-27 13:12:16, jiptohej escribió:
j> Sin embargo, ahora me doy cuenta que cuando introduzco los caracteres
j> desde el teclado, al volver a mostrarlos se muestran en diferente
j> código.
j> Supongo que deberá existir algo como SetConsoleInputCP(), pero lo he
j> probado y aparentemente no existe.
Hola:
La función que buscas es:
SetConsoleCP(1252);
Microsoft tendrá buenas razones para no llamarla SetConsoleInputCP, pero yo desde luego no las conozco.
Hasta pronto.
--
Salvador Pozo (Administrador)
mailto:salvador@conclase.net
_______________________________________________
Lista de correo Cconclase Cconclase@listas.conclase.net
http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
Re: distinto juego de caracteres (jiptohej) 2012-09-27 19:14:52
Muchas gracias, funciona correctamente.
El día 27 de septiembre de 2012 20:35, Salvador Pozo
<salvador@conclase.net> escribió:
> El pasado 2012-09-27 13:12:16, jiptohej escribió:
>
> j> Sin embargo, ahora me doy cuenta que cuando introduzco los caracteres
> j> desde el teclado, al volver a mostrarlos se muestran en diferente
> j> código.
> j> Supongo que deberá existir algo como SetConsoleInputCP(), pero lo he
> j> probado y aparentemente no existe.
>
> Hola:
>
> La función que buscas es:
> SetConsoleCP(1252);
>
> Microsoft tendrá buenas razones para no llamarla SetConsoleInputCP, pero yo desde luego no las conozco.
>
> Hasta pronto.
>
> --
> Salvador Pozo (Administrador)
> mailto:salvador@conclase.net
> _______________________________________________
> Lista de correo Cconclase Cconclase@listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
--
José Luis Torre
ww.ehu.es
_______________________________________________
Lista de correo Cconclase Cconclase@listas.conclase.net
http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ