R语言使用expss::read_labelled_csv时如何调整编码正确读取重音符号
乱码解决方法
read_labelled_csv默认会继承R运行环境的系统编码,乱码是文件实际编码和读取时指定的编码不匹配导致的,按以下步骤调整即可:
- 优先尝试指定UTF-8编码读取,这是绝大多数带特殊字符csv的常用编码:
data1 <- expss::read_labelled_csv( "C:/Users/User/Desktop/Data/Example.csv", encoding = "UTF-8" )
- 如果UTF-8读取后仍有乱码,尝试西欧语言常用的
latin1或Windows平台的CP1252编码:
data1 <- expss::read_labelled_csv( "C:/Users/User/Desktop/Data/Example.csv", encoding = "latin1" )
- 不确定文件编码时,可以先探测再读取:
# 运行后会返回概率最高的几个编码,按结果指定即可 readr::guess_encoding("C:/Users/User/Desktop/Data/Example.csv")
读写文件推荐编码
日常读写优先选UTF-8编码,它是跨平台兼容性最高的编码,支持所有语言的特殊字符(包括重音符号、多国语言文字),能最大程度避免乱码问题。如果是仅在Windows平台使用的西欧语言文件,也可以用CP1252编码,简体中文文件可以用GBK编码,但跨设备/跨系统传输时建议统一转成UTF-8。
保存带标签的csv时也建议同步指定编码:
expss::write_labelled_csv(data1, "保存路径.csv", encoding = "UTF-8")
内容的提问来源于stack exchange,提问作者Jesús Asdrúbal Molina Vízquez
相关产品推荐
相关产品推荐

