--- a/activesupport/lib/active_support/buffered_logger.rb +++ b/activesupport/lib/active_support/buffered_logger.rb @@ -100,7 +100,12 @@ module ActiveSupport def flush @guard.synchronize do unless buffer.empty? - old_buffer = buffer + if defined? Encoding + old_buffer = buffer.map { |b| (b.encoding == Encoding::ASCII_8BIT)? b.force_encoding(Encoding::UTF_8).encode : b } + else + old_buffer = buffer + end + @log.write(old_buffer.join) end