Come trovare quale set di caratteri viene utilizzato dal database
-
05-07-2019 - |
Domanda
Posso accedere al database da un programma .NET (usando ODBC) o tramite uno strumento di gestione del database (scritto in Java).
Se scrivo un '& # 233;' carattere al database dal programma .NET, appare come '& # 213;' (maiuscola O con tilde) nello strumento di gestione DB.
Se scrivo un '& # 233;' carattere al database dallo strumento di gestione DB, appare come '& # 197;' (maiuscola A con un cerchio in alto) nel programma .NET.
Non sto cercando di risolvere effettivamente il problema (ovvero avere entrambi i programmi che mostrano la stessa cosa), anche se sarebbe carino. Sto semplicemente cercando di indovinare quale set di caratteri viene utilizzato da ciascuno per interpretare i dati, in modo da poter eseguire la conversione da solo se scarico i dati utilizzando .NET e li reinserisco utilizzando lo strumento.
Quindi, quale combinazione di 2 set di caratteri darebbe ai disadattamenti del personaggio sopra descritti?
Grazie per il tuo aiuto.
MODIFICA: utilizzando Sybase ASE 12.5
EDIT: sostanzialmente la domanda è: conosci una codifica di caratteri il cui punto di codice E9 rappresenta il carattere '& # 213;' (maiuscola O con tilde) o "& # 197;" (maiuscola A con un cerchio in alto)? (questo suppone che uno di loro stia usando il latino 1, quindi l'E9, che penso sia abbastanza probabile)
EDIT: la soluzione di Paul lo fa. La risposta sul set di caratteri è: hp-roman8
Soluzione
Sybase tenta automaticamente di eseguire una conversione se sul server e sul client sono utilizzati set di caratteri diversi. Se disattivi la conversione automatica del set di caratteri utilizzando,
set char_convert off
ricevi ancora lo stesso '& # 213;' e '& # 197;' 's?