Важная информация находится в нижней строке!Исключение Ruby: `несовместимые кодировки символов: ASCII-8BIT и UTF-8`
Rails приложение обнаруживает исключение при сериализации протокола Буферы сообщение:
Exception (Encoding :: CompatibilityError): несовместимые кодировки символов: ASCII-8BIT и UTF-8
==== Stack trace: ====
/usr/local/rvm/gems/ruby-2.0.0-p576/gems/ruby-protocol-buffers-1.5.1/lib/protocol_buffers/runtime/encoder.rb:64:in `write'
/usr/local/rvm/gems/ruby-2.0.0-p576/gems/ruby-protocol-buffers-1.5.1/lib/protocol_buffers/runtime/encoder.rb:64:in `serialize_field_value'
/usr/local/rvm/gems/ruby-2.0.0-p576/gems/ruby-protocol-buffers-1.5.1/lib/protocol_buffers/runtime/encoder.rb:51:in `serialize_field'
/usr/local/rvm/gems/ruby-2.0.0-p576/gems/ruby-protocol-buffers-1.5.1/lib/protocol_buffers/runtime/encoder.rb:38:in `block in encode'
/usr/local/rvm/gems/ruby-2.0.0-p576/gems/ruby-protocol-buffers-1.5.1/lib/protocol_buffers/runtime/encoder.rb:15:in `each'
/usr/local/rvm/gems/ruby-2.0.0-p576/gems/ruby-protocol-buffers-1.5.1/lib/protocol_buffers/runtime/encoder.rb:15:in `encode'
/usr/local/rvm/gems/ruby-2.0.0-p576/gems/ruby-protocol-buffers-1.5.1/lib/protocol_buffers/runtime/message.rb:248:in `serialize'
/usr/local/rvm/gems/ruby-2.0.0-p576/gems/ruby-protocol-buffers-1.5.1/lib/protocol_buffers/runtime/message.rb:255:in `serialize_to_string'
/var/www/html/disp/lib/navs/navs.rb:955:in `compose_message'
В строка 955:
[type].pack('N*') + msg.serialize_to_string
где type
является целым числом и msg
является потомком ProtocolBuffers::Message
.
Важная информация
я сталкиваюсь это исключение только на одной машине CentOS в любом веб-сервере (Apache + Passenger, WEBrick, Puma). В Windows и других компьютерах CentOS все в порядке. Код тот же, база данных воссоздается и высевается каждый раз перед тестом.