Salve ragazzi
una veloce descrizione per il problema che espongo relativo al carattere '€'
Ho un DB mysql con codifica utf8_unicode
la connessione in pool inoltre la faccio specificando ulteriormenete la codifica
Se apro phpmyadmin e consulto il campo vedo correttamente il simbolo '€'
Quando invece devo prelevare i dati con una query per riversarli in una Tableview quel carattere viene perso, infatti mettendomi in debug man mano che leggo i valori dall'oggetto
ResultSet ritovo il carattere cambiato.
La sub classica di DBUtils (leggermente cambiata solo per la gestione dei campi 'DATA')
Grazie e Buona domenica.
una veloce descrizione per il problema che espongo relativo al carattere '€'
Ho un DB mysql con codifica utf8_unicode
la connessione in pool inoltre la faccio specificando ulteriormenete la codifica
In questo DB ho una tabella con un campo BLOB in cui salvo una map (con struttura json) che contiene diverse key tra cui la key 'valuta' con il suo valore che è appunto '€'pool.Initialize("com.mysql.jdbc.Driver", setupc.mapset.Get("txtstringamysql") & "?characterEncoding=utf8&useUnicode=true", setupc.mapset.Get("txtusermysql"), setupc.mapset.Get("txtpassmysql"))
Se apro phpmyadmin e consulto il campo vedo correttamente il simbolo '€'
Quando invece devo prelevare i dati con una query per riversarli in una Tableview quel carattere viene perso, infatti mettendomi in debug man mano che leggo i valori dall'oggetto
ResultSet ritovo il carattere cambiato.
La sub classica di DBUtils (leggermente cambiata solo per la gestione dei campi 'DATA')
Dove può essere il problema?Public Sub ExecuteTableView(SQL As SQL, Query As String, StringArgs() As String, Limit As Int, _
TableView1 As TableView)
TableView1.Items.Clear
Dim cur As ResultSet
If StringArgs = Null Then
Dim StringArgs(0) As String
End If
cur = SQL.ExecQuery2(Query, StringArgs)
Dim cols As List
cols.Initialize
For i = 0 To cur.ColumnCount - 1
cols.Add(cur.GetColumnName(i))
Next
TableView1.SetColumns(cols)
Do While cur.NextRow
Dim values(cur.ColumnCount) As String
For col = 0 To cur.ColumnCount - 1
values(col) = cur.GetString2(col)
If cur.GetColumnName(col).ToUpperCase.StartsWith("DATA") Then
values(col) = DateFormat(False, values(col))
End If
Next
TableView1.Items.Add(values)
If Limit > 0 And TableView1.Items.Size >= Limit Then Exit
Loop
cur.Close
End Sub
Grazie e Buona domenica.