Чтобы избежать этой ситуации, я шестнадцатерично закодировал атрибут электронной почты, чтобы он содержал только буквы и цифры.Используются эти методы шестнадцатеричного кодирования и декодирования.
convert string2hex:
def hexdigest_to_string(string)
string.unpack('U'*string.length).collect {|x| x.to_s 16}.join
end
convert hex2string
def hexdigest_to_digest(hex)
hex.unpack('a2'*(hex.size/2)).collect {|i| i.hex.chr }.join
end