R での MySQL からの UTF-8 テキストの取得: "?????" のデコード
ファイルからの 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 に変換します。
RODBC:
res <- sqlQuery(con, 'SELECT * FROM rtest.test') res$str <- iconv(res$str, "UTF-8-Mac")
RMySQL:
res <- dbGetQuery(con, 'SELECT * FROM rtest.test') res$str <- as.character(res$str, encoding = 'UTF-8')
追加メモ:
以上がR で MySQL から UTF-8 テキストを取得すると、「?????」という文字が表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。