Hola que tal
Bueno, mi duda/problema es con almacenar un texto en una string. En mi proyecto los textos funcionan bien (tildes, ñ y demás) al escribir directamente o almacenando texto desde en evento Create.
Pero al almacenar el texto en un archivo .ini, leerlo y guardarlo en una variable se pierden caracteres.

Ejemplo:
Si en el texto ini tengo:

[inicio]
3=¿Estás ahí?

Y luego utilizo un en un script:
ini_open('textos.ini');
texto = ini_read_string('inicio', '3', "Nada");
ini_close();

al hacer un draw con el texto solo me dibuja : tah
Es decir, me eliminó casi toda la frase.

Pero si en el ini tengo:

[inicio]
3=Estas ahi?

Si me escribe la frase completa.

¿Cuál será la razón de esto? ¿la función ini_read_string no reconoce las letras?
Al poner directamente texto="¿Está atacando?" funciona bien, solo desde un archivo ini no logro hacerlo.

De antemano agradezco si tienen alguna idea o solución a esto.
Gracias

#1 Julio 02, 2015, 11:10:34 PM Ultima modificación: Julio 02, 2015, 11:13:00 PM por penumbra
Cita de: Lufor en Julio 02, 2015, 10:57:45 PM
¿Cuál será la razón de esto? ¿la función ini_read_string no reconoce las letras?
La razón es la codificación del archivo INI, creo que estás usando ANSI.

Esto lo explica el manual en la introducción a archivos ini
http://docs.yoyogames.com/source/dadiospice/002_reference/file%20handling/ini%20files/index.html

CitarThis means that you should create the ini file in UTF8 format first and then add it into GameMaker: Studio as an included file so that it is exported on running the game and used instead of the default ANSI format ini file that is created by the ini functions when none has been previously supplied. In this way, you can read and write to it correctly with all accents and non-roman letters being maintained.

Gracias penumbra, no creí que el problema fuera con el ini directamente.  :-[
Nunca había usado ini para almacenar texto de esta forma, y pues como el ini guardaba y se veía "bien" jamas pensé que el problema era en la codificación del archivo.
Gracias nuevamente  :)