我正在处理来自这个网站的带有windows-1252
字符集的文本。将文本转换为 UTF-8 是使用 完成的force_encoding
,但文本仍然包含我无法摆脱的空格。无法使用text.gsub!(/\s/, ' ')
或类似技术删除空格。
iconv gem 也不能解决问题 - 如此处所述。很明显,如果我没有将编码指定为 UTF-8 ,则空格是原始文本和windows-1252
字符集的残余,因为我会收到警告。invalid multibyte char (US-ASCII)
我不是文本编码专家,所以我可能会忽略一些琐碎的事情。
更新:这是我目前使用的脚本。
#!/bin/env ruby
# encoding: utf-8
require 'rubygems'
require 'nokogiri'
require 'open-uri'
URL = 'http://www.eximsystems.com/LaVerdad/Antiguo/Gn/Genesis.htm'
html = Nokogiri.HTML(open(URL))
# Extract Paragraphs
text = ''
html.css('p').each do |p|
text += p.text
end
# Clean Up Text
text.gsub!(/\s+/, ' ')
puts text
这是包含我尝试删除的不可见字符的文本示例。我指的是数字16之前的空格。
cobraron aliento para conversar con él。16 Al punto corrió la voz, y se divulgó generalmente esta noticia en el palacio del rey: Han