Se nel file sono presenti caratteri non appartenenti alla tabella ASCII, nella fattispecie quelli da 0 a 127, la lettura può andare in crash.
Tieni conto che questi caratteri sono codificati in maniera diversa, ovvero corrispondo a codici superiori a 255, infatti viene usata una codifica a 32 bit, necessaria date le tabelle di localizzazione esistenti.
Per una verifica, esiste un comando Unix, chiamato "od", che ti permette di vedere, a riga di comando, cosa è contenuto dentro il file, a livello di codici ascii, sia in formato decimale che esadecimale:
Il comando seguente ti permette di vedere il contenuto del file in formato carattere, ovvero tutti i caratteri singolarmente:
#od -c | more
Il comando seguente ti permette di vedere il contenuto del file in formato esadecimale:
#od -x | more
Il comando seguente ti permette di vedere il contenuto del file in formato decimale, ovvero i codici reali di ogni singolo carattere:
#od -d | more
Ma a parte quanto sopra, ti consiglierei di leggere il file in modalità binaria (READ).
Per quanto riguarda la conversione con Conv, l set siano corretti; Gambas internamente usa solo UTF-8, per cui se tenti di forzare questa condizione, avrai un errore.
Riguardo la localizzazione, non serve impostarne una diversa nel sistema operativo, anche perchè non sai se il file sia stato creato con quel tipo di caratteristiche; è buona norma sapere da che parte arriva 'sto file, anche se a buon ragione penso si tratti di roba nostrana. I caratteri accentati hanno una codifica maggiore di 255, e necessitano di essere letti con le funzioni che hai usato, solo che, probabilmente, fai confusione nelle impostazioni.
Esempi:
? conv("à","UTF-8","UTF-8")
à
? conv("à","ASCII","UTF-8")
Bad string conversion
? conv("à","UTF-8","ASCII")
Bad string conversion
? conv("a","ASCII","UTF-8")
a
? conv("a","UTF-8","ASCII")
a
? conv("a","UTF-8","UTF-8")
a
Come vedi, per i normali caratteri, entro i 255, qualsiasi modalità non fà differenza; ma riguardo i caratteri accentati, occorre impostare correttamente la decodifica.