r文件与路径

R 报错:invalid multibyte string(多字节字符解析失败)

字符串里有非 UTF-8 编码的字节(典型是 Windows 下 GBK 存的中文),而当前 locale 是 UTF-8,正则引擎解析失败。

报错原文

Error in grep(...) : invalid multibyte string at '<e4><b8><ad>'

为什么会报这个错

字符串里有非 UTF-8 编码的字节(典型是 Windows 下 GBK 存的中文),而当前 locale 是 UTF-8,正则引擎解析失败。

怎么解决

读入时指定 fileEncoding = "GBK";已有对象用 iconv(x, from = "GBK", to = "UTF-8") 转换;不确定编码用 stringi::stri_enc_detect()。

代码示例

# 读入时指定
df <- read.csv("data.csv", fileEncoding = "GBK")

# 已读入的转换
x <- iconv(x, from = "GBK", to = "UTF-8")

# 检测编码
stringi::stri_enc_detect(x)

同工具的其他报错

报错解决了,但方法还没搞懂?

报错只是表象。因果推断、面板数据、稳健性检验这些方法背后的逻辑,知识库里按「原理 × 直觉 × 代码」讲清楚了。

进入知识库 →