我收到一个 rails 错误,因为它需要 UTF-8,memcached 正在将我的字符串转换为 ASCII-8BIT。我正在缓存包括符号在内的货币数据,以防止对数据库造成不必要的打击。
我的方法在这里:
def self.find_symbol(currency)
Rails.cache.fetch(currency, :expires_in => 1.week) { Currency.find_by_code(currency).symbol }
end
被缓存的部分是 UTF-8。
Currency.find_by_code(currency).symbol
然而,当它出现在 ASCII-8BIT 中时,看起来像 "\xE2\x82\xAC"
我不确定memcache如何处理字符串,如果我应该/可以强制它,所以将字符串保存为UTF,(不知道为什么它会转换它)或者当我把它拉出来时强制它回到UTF?