2013-09-05 9 views
2

dans une base de données J'ai stocké des chaînes contenant des caractères spéciaux tels que "§". En utilisant la commandeCaractères spéciaux et RODBC

sqlQuery()

du paquet rodbc "§" est traduit en "?". C'est également le cas pour les caractères tels que "'" car ils peuvent être trouvés dans les mots français.

Bien sûr, je ne peux pas remplacer tous les "?" par l'un des caractères spéciaux après la requête. Est-ce que quelqu'un a une idée de ce problème? Je travaille sous Windows 7.

Comme demandé au sortir mettre de sessionInfo()

R version 2.14.1 (2011-12-22) 
Platform: x86_64-pc-mingw32/x64 (64-bit) 

locale: 
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252 
[3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C       
[5] LC_TIME=English_United States.1252  

attached base packages: 
[1] grid  stats  graphics grDevices utils  datasets methods base  

other attached packages: 
[1] timeDate_2160.97 gridExtra_0.9.1 reshape2_1.2.2 RODBC_1.3-6  ggplot2_0.9.3.1 plyr_1.8   
[7] Runiversal_1.0.2 

loaded via a namespace (and not attached): 
[1] colorspace_1.2-1 dichromat_2.0-0 digest_0.6.3  gtable_0.1.2  labeling_0.1  MASS_7.3-21  
[7] munsell_0.4  proto_0.3-10  RColorBrewer_1.0-5 scales_0.2.3  stringr_0.6.2  tools_2.14.1  
+0

'sessionInfo()'? –

+3

Je pense que vous devez définir 'DBMSencoding' dans' odbcDriverConnect() 'à tout ce qui est encodé dans la base de données. Je suppose que' 'UTF-8 '' vaut le coup d'oeil. –

+0

Merci, je vais essayer! – Richard

Répondre

0

Si vous voyez un problème où vous utilisez sqlSave() en R envoyer à MYSQL où pas tous les flux de données à travers, c'est probablement à cause de caractères spéciaux. La clé est de s'assurer que le classement des caractères est le même dans les deux .. J'ai trouvé que latin1 fonctionne le mieux.