Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 无法更改R中数据帧的编码_Mysql_R_Amazon Aurora - Fatal编程技术网

Mysql 无法更改R中数据帧的编码

Mysql 无法更改R中数据帧的编码,mysql,r,amazon-aurora,Mysql,R,Amazon Aurora,我正在尝试将一个数据库导入到R中,以转换并加载回另一个数据库。我正在从RDS Mysql中提取我的数据集,其中包括: con <- dbConnect(MySQL(), user = 'user', password = 'password', host = 'url', dbname='dbName') sqlcmd = paste("

我正在尝试将一个数据库导入到R中,以转换并加载回另一个数据库。我正在从RDS Mysql中提取我的数据集,其中包括:

con <- dbConnect(MySQL(),
                   user = 'user',
                   password = 'password',
                   host = 'url',
                   dbname='dbName')

sqlcmd = paste("SELECT * FROM dbName.`users`");

contentTable = dbGetQuery(con,sqlcmd);

contentTable["first_name"]
我的问题是第三个名字应该是Júlia。其他行中也出现了此问题

我的区域设置如下

> Sys.getlocale()
[1] "pt_PT.UTF-8/pt_PT.UTF-8/pt_PT.UTF-8/C/pt_PT.UTF-8/en_US.UTF-8"
服务器的默认字符是

# Variable_name, Value
'character_set_client', 'utf8'
'character_set_connection', 'utf8'
'character_set_database', 'utf8'
'character_set_filesystem', 'binary'
'character_set_results', 'utf8'
'character_set_server', 'latin1'
'character_set_system', 'utf8'
'character_sets_dir', '/rdsdbbin/oscar-5.6.10a.14.15/share/charsets/'
我有点迷路了,即将切换到Python/Panda(它给了我正确的字符,但我还有一点学习曲线要面对我下一步要做的事情)。你知道现在该怎么办吗

更新1:

SHOW CREATE TABLE users;
CREATE TABLE `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `first_name` varchar(255) NOT NULL,
  `last_name` varchar(255) NOT NULL,
  `email` varchar(255) NOT NULL,
  `birthday` date DEFAULT NULL,
  `age` int(11) DEFAULT NULL,
  `city` varchar(255) DEFAULT NULL,
  `state` varchar(255) DEFAULT NULL,
  `country` varchar(255) DEFAULT NULL,
  `beer_points` int(11) DEFAULT NULL,
  `access_token` text,
  `created_at` datetime NOT NULL,
  `updated_at` datetime NOT NULL,
  `profile_picture_file_name` varchar(255) DEFAULT NULL,
  `profile_picture_content_type` varchar(255) DEFAULT NULL,
  `profile_picture_file_size` int(11) DEFAULT NULL,
  `profile_picture_updated_at` datetime DEFAULT NULL,
  `role` varchar(255) DEFAULT NULL,
  `password_digest` varchar(255) DEFAULT NULL,
  `gender` varchar(255) DEFAULT NULL,
  `share_code` varchar(255) DEFAULT NULL,
  `privacy_enabled` tinyint(1) DEFAULT '0',
  PRIMARY KEY (`id`),
  UNIQUE KEY `index_users_on_email` (`email`),
  KEY `index_users_on_role` (`role`)
) ENGINE=InnoDB AUTO_INCREMENT=46 DEFAULT CHARSET=latin1

此代码可能对您的问题有用:

 con <- dbConnect(MySQL(),
               user = 'user',
               password = 'password',
               host = 'url',
               dbname='dbName')
 m <- dbGetQuery(con, "SET NAMES 'latin1'")
 sqlcmd <- paste("SELECT * FROM dbName.`users`");
 result <- dbGetQuery(con, sqlcmd)
 dbDisconnect(con)

con复制粘贴Júlia并将其名称插入MySQL数据库后,我无法重新创建您的问题。在使用RMySQL远程连接到R进行数据帧导入之后,Júlia导入得很好。Júlia(带重音)在MySQL中是否显示为这样?另外,检查数据库表的字符集:
showcreatetableusers
@Parfait它在MySQL(Workbench和Sequel-Pro)中显示为Júlia。我补充了你问的信息。非常感谢。这可能是您的UTF-8系统语言环境,我相信它是葡萄牙语,并试图用拉丁语阅读。研究如何管理和/或更改您的文件。@Parfait在美国之前是英文的,而将其更改为葡萄牙语是我为使其正常工作所做的一件事。我目前正在用Python做这件事,我想还行,但我真的更喜欢R=(非常感谢Parfait的帮助)
 con <- dbConnect(MySQL(),
               user = 'user',
               password = 'password',
               host = 'url',
               dbname='dbName')
 m <- dbGetQuery(con, "SET NAMES 'latin1'")
 sqlcmd <- paste("SELECT * FROM dbName.`users`");
 result <- dbGetQuery(con, sqlcmd)
 dbDisconnect(con)