【发布时间】:2014-11-21 21:26:20
【问题描述】:
在 windows 上出现以下错误:
Encoding::UndefinedConversionError: "\xEF" 从 ASCII-8BIT 到 UTF-8
代码:
text = File.open(file, 'r:binary', &:read); #opens file and reads it with r:binary flag
puts text; #works i get here, outputs the below file contents
data = JSON.parse(text.force_encoding(Encoding::UTF_8)); #fails here with above error
注意:我也试过 R:UTF-8。
文件内容:
{
"Environments": [
{
"Environment": "UT",
"Configuration_Directory": "configs/",
"Files": [
{
"Source": "Web.ENV.config",
"Destination": "Web.config"
}
]
},
{
"Environment": "UAT",
"Configuration_Directory": "configs/",
"Files": [
{
"Source": "Web.ENV.config",
"Destination": "Web.config"
}
]
},
{
"Environment": "Staging",
"Configuration_Directory": "configs/",
"Files": [
{
"Source": "Web.ENV.config",
"Destination": "Web.config"
}
]
},
{
"Environment": "Production",
"Configuration_Directory": "configs/",
"Files": [
{
"Source": "Web.ENV.config",
"Destination": "Web.config"
}
]
}
]
}
【问题讨论】:
-
我遇到了这个问题,这有助于解决它stackoverflow.com/questions/23309669/…