首頁 > 資料庫 > mysql教程 > 為什麼在 R 中從 MySQL 檢索 UTF-8 文字時會看到「??????\」字元?

為什麼在 R 中從 MySQL 檢索 UTF-8 文字時會看到「??????\」字元?

Linda Hamilton
發布: 2024-11-03 18:05:29
原創
239 人瀏覽過

Why am I seeing

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")
登入後複製
RODBC:

res <- dbGetQuery(con, 'SELECT * FROM rtest.test')
res$str <- as.character(res$str, encoding = 'UTF-8')
登入後複製
RMySQL:

    其他注意🎜>
  • 確保預設系統語言環境設定為UTF-8。
  • 對於 RMySQL,使用 dbSendQuery 設定字元編碼對所有後續查詢均有效。
  • iconv 也可用於將字串轉碼為 UTF-8,但其行為可能會因平台。

以上是為什麼在 R 中從 MySQL 檢索 UTF-8 文字時會看到「??????\」字元?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板