Gracefully fall back if string cannot be encoded.

This commit is contained in:
Harold A. Jones II 2012-04-30 22:03:55 -04:00
parent 51597eae9a
commit 656039cee0

View file

@ -20,7 +20,11 @@ module Net::BER::Extensions::String
if self.respond_to?(:encode)
# Strings should be UTF-8 encoded according to LDAP.
# However, the BER code is not necessarily valid UTF-8
self.encode('UTF-8').force_encoding('ASCII-8BIT')
begin
self.encode('UTF-8').force_encoding('ASCII-8BIT')
rescue Encoding::UndefinedConversionError
self
end
else
self
end