Récupération de texte UTF-8 à partir de MySQL dans R : décodage de "?????"
Récupération de texte encodé en UTF-8 à partir d'un La base de données MySQL dans R peut parfois entraîner "????" personnages. Pour résoudre ce problème, considérez les éléments suivants :
1. Vérifier l'encodage de la base de données
Assurez-vous que la table de base de données est définie avec le jeu de caractères et le classement appropriés. Par exemple, dans MySQL :
CREATE TABLE test (str VARCHAR(10)) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2. Définir l'encodage de connexion
Lors de l'établissement d'une connexion à une base de données dans R, spécifiez l'encodage de caractères correct.
RODBC :
con <- odbcDriverConnect('DRIVER=mysql;user=root', CharSet='utf8')
RMySQL :
Connectez-vous d'abord, puis exécutez :
dbConnect(MySQL(), user='root') dbSendQuery(con, 'SET NAMES utf8')
3. Convertir l'encodage des caractères
Après avoir récupéré les résultats, convertissez l'encodage des caractères de la colonne de chaîne en 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')
Remarques supplémentaires :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!