Ruby net ldap-编码::未定义的转换器错误

Ruby net ldap-编码::未定义的转换器错误,ruby,ruby-on-rails-3.1,netldap,Ruby,Ruby On Rails 3.1,Netldap,伙计们!我收到以下错误消息,我不知道该怎么办。这是一个已知的网络ldap错误吗?我试图更新我的gems,我已经在互联网上寻找更多的信息。第一部分还可以,我从ldap数据库中获取数据,但最终会发生此错误 /usr/local/lib/ruby/gems/1.9.1/gems/net-ldap-0.3.1/lib/net/ber/core_ext/string.rb:23:in encode':“\x8E”从ASCII-8BIT到UTF-8 (编码::未定义的转换器错误)来自 /usr/local/

伙计们!我收到以下错误消息,我不知道该怎么办。这是一个已知的网络ldap错误吗?我试图更新我的gems,我已经在互联网上寻找更多的信息。第一部分还可以,我从ldap数据库中获取数据,但最终会发生此错误

/usr/local/lib/ruby/gems/1.9.1/gems/net-ldap-0.3.1/lib/net/ber/core_ext/string.rb:23:in
encode':“\x8E”从ASCII-8BIT到UTF-8
(编码::未定义的转换器错误)来自
/usr/local/lib/ruby/gems/1.9.1/gems/net-ldap-0.3.1/lib/net/ber/core_ext/string.rb:23:in
raw\u utf8\u encoded'来自 /usr/local/lib/ruby/gems/1.9.1/gems/net-ldap-0.3.1/lib/net/ber/core_ext/string.rb:15:in
从
/usr/local/lib/ruby/gems/1.9.1/gems/net-ldap-0.3.1/lib/net/ldap.rb:1396:in
在搜索中阻止“来自” /usr/local/lib/ruby/gems/1.9.1/gems/net-ldap-0.3.1/lib/net/ldap.rb:1367:in
loop'来自
/usr/local/lib/ruby/gems/1.9.1/gems/net-ldap-0.3.1/lib/net/ldap.rb:1367:in
从中搜索 /usr/local/lib/ruby/gems/1.9.1/gems/net-ldap-0.3.1/lib/net/ldap.rb:637:in `搜索'

这是我的代码:

require 'rubygems'
require 'net/ldap'

ldap = Net::LDAP.new
ldap.host = 'xxxxxx'
ldap.authenticate "cn=admin, dc=xxxx, dc=xxxxx, dc=de", "xxxxx!"
#puts ldap.bind
if ldap.bind
  # authentication succeeded
else
  # authentication failed
 # p ldap.get_operation_result
end


filter = Net::LDAP::Filter.eq("uid", "*")
treebase = "xxxxx, dc=xxxxxx, dc=de"

ldap.search(:base => treebase, :filter => filter) do |entry|
  puts "DN: #{entry.dn}"
  entry.each do |attribute, values|
    puts "   #{attribute}:"
    values.each do |value|
      puts "      --->#{value}"
    end
  end
end

NetLDAP的v0.3.1中存在许多编码问题[1]、[2]、[3]、[4]。几个补丁已经被合并了,但令人遗憾的是,这个伟大的项目似乎已经被半废弃,并且这些更改并没有被推到rubygems上。直接从github使用它对我来说效果很好,如果您使用bundler,在您的Gemfile中粘贴类似的内容也很容易:

gem "net-ldap", :git => "git://github.com/ruby-ldap/ruby-net-ldap.git", :ref => '8a182675f4'
1-
2-
3-
4-