Página 1 de 1

Problema con cmd y algunos carácteres

Publicado: 13 Mar 2009, 19:38
por Jonny
Hola

Imagino, que esto lo habreis observado desde hace mucho tiempo y seguro que teneis también una solución desde hace tiempo para esto.

Resulta, que al introducir ciertos carácteres en el cmd aparecen símbolos extraños.
Por ejemplo, al poner la ó aparece el símbolo ¢ y así con algunos acentos, la ñ y algunos carácteres especiales.

Amí, se me ocurrió así al pronto reemplazar (con mucha paciencia) cada símbolo de estos por su equivalente, como en el ejemplo que he puesto (¢) reemplazarlo por la ó.
Pero probando a que símbolo corresponde cada acento y carácter especial me he encontrado, que la solución de reemplazar los símbolos por sus equivalentes no es válida, pues hay carácteres que equivalen otros carácteres que podrían introducirse intencionadamente.
Por ejemplo la í, equivale a ¡, que perfectamente podría estar en el resultado de la ejecución de un programa:
> "¡la operaci¢n se realiz¢ correctamente!".
En éste caso, no podríamos saber si el carácter ¡ lo ha generado la respuesta del programa intencionadamente o es una í.

¿Problema?
Que el carácter ¡ si lo introducimos en el cmd aparece igualmente como ¡.

Entonces ¿Como puedo solucionar ésto, para que cuando el programa que estoy haciendo recoja resultados de la ejecución de un comando de consola o realice una sentencia mysql no aparezcan estos símbolos y aparezcan todos los carácteres tal y como se introdujeron?

Gracias de antemano a quien tenga una idea.

Salu2!

Re: Problema con cmd y algunos carácteres

Publicado: 14 Mar 2009, 07:41
por Rupert.25
Saludos. Una pregunta.

¿Necesitas usar la consola de windows para ejecutar una consulta de MySQL?

Otra:

¿Lees lo que te aroja el cmd con STDOutRead?

es probable que haya otra manera para ejecutar una consulta para MySQL

Por ejemplo: Antes hice un ejemplo de un script que adjuntaba una base de datos al SQL Server, y esto lo hacia mediante la consola de windows utilizando el archivo OSQL, pero despues encontré una UDF que se llama _SQL la cual trae las Funciones para ejecutar cualquier tipo de consulta.

Ademas he visto en el foro de ingles una libreria de MySQL, tal vez terminemos solucionando esto de la consola de otra manera.

Si tienes que hacerlo necesariamente desde la consola de windows, tal vez quieras poner el ejemplo para tratar de ayudarte.

gracias...

Re: Problema con cmd y algunos carácteres

Publicado: 14 Mar 2009, 12:34
por Jonny
Hola

bueno, el problema realmente lo tengo con las consultas mysql, aunque enfoqué el problema orientado a la consola porque parece que mysql depende de la consola para devolver los resultados, pues los carácteres que mencionaba, los representa exactamente igual.

No, no utilizo la consola para hacer consultas a mysql, tengo una librería descargada del foro inglés para gestionar las bases de datos (quizá hablemos de ma misma) que para nada utiliza la consola, lo hace todo mediante objetos. Pensé que decirlo así sería más enrredado, pero en realidad éste es el problema.
que al recuperar información de la base de datos mediante la libraría que tengo para mysql aparecen algunos carácteres modificados. No se, si el problema se solucionaría de la misma forma en el caso de la consola, que como digo, ocurre exactamente lo mismo.

Gracias,

Salu2!

Re: Problema con cmd y algunos carácteres

Publicado: 14 Mar 2009, 14:10
por BasicOs
Buenas,
tienes en el foro muchos ejemplos de mysql, y que yo sepa esto de que cambie los caracteres no pasa, de hecho autoit+mysql es la perfección en base de datos, no problema.
Revisa si te coincide lo que has hechoi con estos links que te envio, y después busca el script en otro PC diferente.

Algunos links:
Un ejemplo operativo:
http://www.emesn.com/autoitforum/viewto ... =101&p=305

Una búsqueda:
http://www.emesn.com/autoitforum/search ... l&start=20

Salu2:) :smt020

Re: Problema con cmd y algunos carácteres

Publicado: 15 Mar 2009, 13:12
por Jonny
Hola

Gracias,

Verás, yo utilizo ésta librería que adjunto en el post para gestionar mysql. No se si habrá otra mejor (creo que en los enlaces que me indicas hay una), que no se si es la misma. En cualquier caso, si se trata de una librería diferente, no podría usarla, pues el programa en el que estoy trabajando está bastante abanzado y llevo ya miles de líneas (sí, es un programa bastante complejo) ¡y no me gustaría tener que reescribirlo! jejeje.

Por otro lado, no creo que el problema radique en la librería utilizada, pues el código de la que yo utilizo no lo termino de entender (es demasiado abanzado) utilizando objetos etc, pero parece, que se limita únicamente a devolver los resultados de mysql tal cual están... Lo curioso es, que me los devuelve exactamente igual que aparecen en la consola (es decir si accedo a mysql mediante el cmd y consulto directamente las bases de datos).

Salu2!

Re: Problema con cmd y algunos carácteres

Publicado: 15 Mar 2009, 16:30
por BasicOs
Si, es la libería estandar, puedes mirarla y ver para que es cada función del mysql en autoit.
de todas maneras la librería estaba en http://www.emesn.com/mas/mysql.au3

Es realmente sencillo si piensas en bases de datos( o tablas) o si tienes experiencia con php o similares.., o siguiendo los ejemplos

Salu2:) :smt020

Re: Problema con cmd y algunos carácteres

Publicado: 15 Mar 2009, 23:06
por Chefito
Busca busca...que puede que el problema esté en alguna configuración :smt017 .
Te pongo una de la 1º web que he encontrado:

http://avlprogrammer.blogspot.com/2008/ ... os-en.html

Y si eso...ya sabes....google :smt003 :

http://www.google.es/search?hl=es&q=mys ... ntos&meta=

Ya puedes leer y probar :smt005 .

Saludos.

Re: Problema con cmd y algunos carácteres

Publicado: 17 Mar 2009, 07:56
por Jonny
Hola

según he visto en las páginas que me pasó chefito:

En la primera, habla de incluir ésto en el código html:

< meta http-equiv="content-type" content="text/html; charset=es-iso-8859-1" />
(claro, en caso de tratarse de estar trabajando con código html).

La cosa, es que incluyendo esa línea el efecto es el mismo, porque ésto ocurre tanto trabajando con código html, como mostrando el resultado de la consulta de una base de datos en un msgbox().

En una de las páginas del link de los resultados de Google que puso Chefito, ví que a alguien le ocurría lo mismo y al parecer lo solucionó con las funciones utf8_encode() y utf8_decode() de php.
He buscado funciones para codificar/decodificar utf8 en autoit pero ni en éste foro ni en el inglés he encontrado nada...

Por cierto, el tema de configurar Mysql para esto ya ló intenté hace tiempo por el mismo problema con php, pero no hubo forma.

Salu2!