2013-09-05 90 views
2

在數據庫中我存儲了包含特殊字符(如「§」)的字符串。 使用命令特殊字符和RODBC

sqlQuery()

從包RODBC 「§」 被翻譯成 「?」。對於諸如「'」的字符也是如此,因爲它可以用法語單詞找到。

當然,我不能取代每個「?」通過查詢後的特殊字符之一。有人有這個問題的想法嗎?我工作在Windows下7

按要求放出來的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

我想你需要在'odbcDriverConnect()'中將'DBMSencoding'設置爲數據庫編碼的任何東西。我猜''UTF-8「'是值得開始的。 –

+0

謝謝,我會試試這個! – Richard

回答

0

如果你看到你在哪裏使用R中sqlSave()發送到MYSQL不是所有的數據流的問題通過,這可能是因爲特殊字符。關鍵是要確保字符排序在兩者中都設置爲相同。我發現latin1效果最好。