我排队延迟作业任务,将对象 json 表示保存到 s3。该对象的属性之一是版权信息,其中包括版权符号。版权符号在数据库中显示得很好,如果我在控制器中“放置 object.copyright_info”,但是当我在延迟的作业文件中“放置 object.copyright_info”时,它添加了特殊字符。
Controller
def create_json
puts @object.copyright_info #copy right symbol appears correctly - "Copyright ©"
Delayed::Job.enqueue SaveS3Json.new(@object)
end
保存 json 文件:
class SaveS3Json < Struct.new(:object)
# encoding: utf-8
def perform
puts object.copyright_info #outputs "Copyright ©"
# calls object.to_json and writes json file to s3
end
我正在使用 ruby-1.9.2-p32 和 Postgresql 在 Heroku 上运行。当我在本地执行相同的任务时,似乎没有添加特殊字符。
有任何想法吗?