The problem is Excel not B4A.
If you want to read it with Excel you need to change the encoding.
As a workaround, after having saved the file with SaveTableToCSV, you can:
Read the file back with TextReader.ReadAll and save it back with TextWriter.Initialize2 and TextWriter.Write where you can set the encoding you need.
Dim sd As StringUtils
Dim ListCSV As List
Dim tr As TextReader
Dim tw As TextWriter
Dim s As String
....
ListCSV=utils.ExecuteMemoryTable(sql1,lssql,Null,0)
sd.SaveCSV(gsdircsv,"prueba.csv",";",ListCSV)
tr.Initialize(File.OpenInput(gsdircsv, "prueba.csv"))
S = tr.ReadAll
tr.Close
tw.Initialize2(File.OpenOutput(gsdircsv,"prueba.csv",False),"Windows-1252")
tw.write(s)
tw.Close
....