2009-07-30 7 views
0

Je reçois des chaînes sur une connexion ODBC à partir d'un SQL Server 2005 qui contient des caractères commençant par 'L \' suivi du code de caractère. Ces caractères ne sont pas affichables dans Ruby/Rails, mais avec d'autres applications qui utilisent la même connexion ODBC. J'utilise la gemme ruby-odbc avec utf-8. Les caractères Umlaut sont affichés correctement, mais pas ceux commençant par 'L \'. Les exemples sont 'L \ 264' pour une tombe acent, 'L \ 262' est '³' et 'L \ 263 est' ² '.L Caractère Notation?

Mes questions:

  • Pour le jeu de caractères appartiennent-ils? Comment peuvent-ils être affichés dans
    Ruby/Rails?

Répondre

0

On dirait que vous avez un encodage Unicode personnalisé. Le "L" signifie probablement de gauche à droite ou de latin. Les nombres semblent être la représentation octale du nombre de caractères Unicode ou Ansi. Bizarre.

Cela n'a certainement rien à voir avec SQL Server. Probablement un artefact ODBC serait ma conjecture.

0

La base de données utilise latin1 donc probablement latin mais superscript trois est 179 en latin/8859-1 et non 263. Je substitue les caractères qui ne peuvent pas être convertis par iconv avec des caractères équivalents d'un jeu de caractères convertibles. C'est suffisant car il n'y a actuellement que trois de ces caractères dans les données.