我有一个文本文件,如果在编码设置为 的 Scite 编辑器中查看utf-8
,可以正确显示所有文本,包括带有重音符号的大写字母(即 Á)。
但是,如果我编写一个 ruby 脚本并使用mystring.encode("utf-8")
它,在带有重音符号(即 Á)的大写字母上会出现以下错误:
encode': "\x81" to UTF-8 in conversion from Windows-1252 to UTF-8 (Encoding::UndefinedConversionError)
这是预期的行为吗?我如何将整个文本编码为utf-8
使用 ruby,否则它会在 Scite 编辑器中成功编码?
代码:
ine_file = File.open("../../_data/ine_spain_demographics.csv", 'r')
ine_towns_population_hash = Hash.new
ine_file.each do|line|
values = line.split(";")
town_name = values[3]
population = values[4]
begin
ine_towns_population_hash[town_name.encode("utf-8")] = population
rescue
puts "problematic string: " + town_name
end
end