ApplicationContext: он загружает весенние бобы, настроенные в файле конфигурации пружины, и управляет жизненным циклом весеннего боба, а КОГДА КОНТЕЙНЕР STARTS. Он не будет ждать, пока не будет вызван getBean ("springbeanref").
BeanFactory Он загружает весенние бобы, сконфигурированные в файле конфигурации пружин, управляет жизненным циклом весеннего боба, когда мы называем getBean («springbeanref»). Поэтому, когда мы называем getBean («springbeanref») во время жизни весеннего боба цикл начинается.
Вы можете использовать кодирование для этого. text.encode('UTF-8', :invalid => :replace, :undef => :replace)
Для получения дополнительной информации посмотрите в Ruby-Docs
Вы можете использовать /n
, как в
text.gsub!(/\xC2/n, '')
, чтобы заставить Regexp работать с байтами.
Вы уверены, что это то, что вы хотите? Любой символ Unicode в диапазоне [U + 80, U + BF] будет иметь \xC2
в кодированной форме UTF-8.
Лучшее решение этой проблемы, которое я нашел, это ответ на тот же вопрос: https://stackoverflow.com/a/8711118/363293 .
Короче говоря: "€foo\xA0".chars.select(&:valid_encoding?).join
Вы можете сделать это так
# encoding: utf-8
class String
def validate_encoding
chars.select(&:valid_encoding?).join
end
end
puts "testing\xC2 a non UTF-8 string".validate_encoding
#=>testing a non UTF-8 string
Попробуйте Iconv
1.9.3p194 :001 > require 'iconv'
# => true
1.9.3p194 :002 > string = "testing\xC2 a non UTF-8 string"
# => "testing\xC2 a non UTF-8 string"
1.9.3p194 :003 > ic = Iconv.new('UTF-8//IGNORE', 'UTF-8')
# => #<Iconv:0x000000026c9290>
1.9.3p194 :004 > ic.iconv string
# => "testing a non UTF-8 string"
data = '' if not (data.force_encoding("UTF-8").valid_encoding?)
Ваш текст имеет кодировку ASCII-8BIT, вместо этого вы должны использовать это:
String.delete!("^\u{0000}-\u{007F}");
Он будет служить той же цели.