我遇到了编码问题...控制台中没有错误,但输出编码不正确。我必须在字符串上使用Digest::SHA1.hexdigest
,然后必须 pack
使用结果。
下面的例子应该输出 '{´p)ODýGΗ£Iô8ü:iÀ' 但它输出 '{?p)OD?GΗ?I?8?:i?' 在控制台和日志文件中的“{�p)OD�G^BΗ�I�8^D�:i�”。
所以,我的变量称为pack
等于'{?p)OD?GΗ?I?8?:i?' 而不是'{´p)ODýGΗ£Iô8ü:iÀ'。这是一个大问题......我在 Rails 任务中做这件事。有什么想法吗?
谢谢
# encoding: utf-8
require 'digest/sha1'
namespace :my_app do
namespace :check do
desc "Description"
task :weather => :environment do
hexdigest = Digest::SHA1.hexdigest('29d185d98c984a359e6e6f26a0474269partner=100043982026&code=34154&profile=large&filter=movie&striptags=synopsis%2Csynopsisshort&format=json&sed=20130527')
pack = [hexdigest].pack("H*")
puts pack # => {?p)OD?GΗ?I?8?:i?
puts '{´p)ODýGΗ£Iô8ü:iÀ' # => {´p)ODýGΗ£Iô8ü:iÀ
end
end
end