Мне кажется, это очень простой и очень необходимый метод. Мне нужно удалить все несимвольные символы из строки. например, Â © и т.д. См. следующий пример.
#coding: utf-8
s = " Hello this a mixed string © that I made."
puts s.encoding
puts s.encode
выход:
UTF-8
Hello this a mixed str
ing ┬⌐, который я сделал.
Когда я передаю это Watir, он вызывает следующую ошибку: несовместимые кодировки символов: UTF-8 и ASCII-8BIT
Итак, моя проблема в том, что я хочу избавиться от всех символов, отличных от ASCII, перед тем, как их использовать. Я не буду знать, какая кодировка использует исходная строка.
Я уже довольно давно искал и экспериментировал.
Если я пытаюсь использовать
puts s.encode('ASCII-8BIT')
Он дает ошибку:
: "\xC2\xA9" from UTF-8 to ASCII-8BIT (Encoding::UndefinedConversionError)