No se mucho de base de datos y encoding, tal vez necesitas indicar el Encoding cuando metes o sacas la informacin de la base de datos tambin y no slo decirle a la base el encoding.
En caso de que exista forma que la base de datos indique que est mandando UTF8, entonces podras solicitar a Xojo que agregue esa caracterstica de definir el encoding al obtener la informacin de una base de datos que explcitamente est indicando que es UTF8.
Me imagino que por el momento, al no revisar si la base de datos indica que el contenido es UTF8, Xojo le da un encoding Nil (puedes revisar mi teora con el comando Encoding).
Veo en el LR que el DefineEncoding no es necesario para los string creados en Xojo porque son creados como UTF8, el problema es cuando se le asigna un string “externo” debe estar cambiando, por lo menos en Windows, de UTF8 a encoding Nil.
Si pruebas que Linux mantiene el encoding en UTF8 tal vez sea ms fcil solicitar a Xojo que haga lo mismo para Windows.
Nota: no tengo experiencia con Xojo y MySql/MariaDB, por lo que mis ideas de su interaccin son slo tericas.
Cecilio, no tengo mucha experiencia, as que estas son slo unas ideas:
Dim s As String = "Hola"
Break
Te vas a revisar s y puedes ver lo siguiente:
Sabiendo que los strings de Xojo son UTF-8, entonces le asignamos a un String un valor de la base de datos, tipo:
s = rs.Field("Nombre").StringValue
Break
Volvemos a revisar el Encoding que tiene. Lo mas probable es que en Windows diga algo diferente a UTF-8 y por eso sea que no se ven correctamente las letras con acentos. Revisas lo mismo en Linux y ves si el encoding es el mismo que marca Windows. Si de casualidad marca UTF-8 en Linux y no en Windows, se puede pedir a Xojo que homologue la funcin de Linux con Windows (tambin sera bueno probarlo en Mac si es que tienes acceso).
Nota: me imagino que hay mejores formas de hacer lo anterior. Espero que te ayude esto. Saludos.
Es raro porque si los contenidos estn correctamente codificados en la base de datos y recuperados, deberan de verse sin mayor problema. Haces el default_charset = “utf-8”; o el ““SET NAMES ‘UTF8’” " justo despus de abrir la base de datos? (slo SET NAMES ‘UTF8’” sera preferiblepara no resetear la conexin y devolverla a su estado original