0

Важная информация находится в нижней строке!Исключение 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 все в порядке. Код тот же, база данных воссоздается и высевается каждый раз перед тестом.

ответ

0

решаемые понижая рубин из 2.0.0-p576 до 2.0.0-P481

Update

P481 не более доступны для скачивания.

Смежные вопросы