R 中MySQL 的UTF-8 文字擷取:解碼「??????」
從R 擷取UTF-8編碼文字MySQL 資料庫導入R 有時會導致「??????」人物。要解決此問題,請考慮以下事項:
1.驗證資料庫編碼
確保使用適當的字元集和排序規則定義資料庫表。例如,在 MySQL 中:
CREATE TABLE test (str VARCHAR(10)) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2。設定連線編碼
在 R 中建立資料庫連線時,指定正確的字元編碼。
RODBC:
con <- odbcDriverConnect('DRIVER=mysql;user=root', CharSet='utf8')
RMySQL:
先連線再連線運作:
dbConnect(MySQL(), user='root') dbSendQuery(con, 'SET NAMES utf8')
先連線再連線運作:
3。轉換字元編碼
檢索結果後,將字串列的字元編碼轉換為UTF-8。
res <- sqlQuery(con, 'SELECT * FROM rtest.test') res$str <- iconv(res$str, "UTF-8-Mac")
res <- dbGetQuery(con, 'SELECT * FROM rtest.test') res$str <- as.character(res$str, encoding = 'UTF-8')
以上是為什麼在 R 中從 MySQL 檢索 UTF-8 文字時會看到「??????\」字元?的詳細內容。更多資訊請關注PHP中文網其他相關文章!