mysql – 无法更改R中数据框中的编码
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysql – 无法更改R中数据框中的编码,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2309字,纯文字阅读大概需要4分钟。
内容图文
![mysql – 无法更改R中数据框中的编码](/upload/InfoBanner/zyjiaocheng/903/9024618012cb4aadaee69040294589a0.jpg)
我正在尝试将数据库导入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"]
这给我带来了这个不幸的输出
first_name
1 Sergio
2 Sara
3 J\xfalia
4 Tatiana
5 Paula
我的问题是第三个名字应该像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(它给了我正确的字符,但我有一点学习曲线可以面对我接下来要做的事情).知道现在该做什么吗?
UPDATE1:
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)
内容总结
以上是互联网集市为您收集整理的mysql – 无法更改R中数据框中的编码全部内容,希望文章能够帮你解决mysql – 无法更改R中数据框中的编码所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。