Hi,
I’m using SaltedHashLogin, it works well.
now, I want to switch language to be Chinese, so I edit a new yaml in
utf-8 with all
Chinese value inside.
Then I encouter “Rails application failed to start properly” problem
when start…
In the server.log, the error info is:
…/lib/localization.rb:55:in `iconv’: “\xe4\xb8\xad\xe6\x96\x87”
(Iconv::IllegalSequence)
And the code for this is:
def self.load_localized_strings
# Load language files
Dir[RAILS_ROOT + ‘/lang/*.yaml’].each do |filename|
filename =~ /(([a-z]+_?)+).yaml$/
hash = YAML::load(File.read(filename))
file_charset = hash[‘file_charset’] || ‘ascii’
lang = $1
# convert string keys to symbols
symbol_hash = Hash.new
Iconv.open(CONFIG[:web_charset], file_charset) do |i|
hash.each do |key, value|
symbol_hash[key.to_sym] = i.iconv(value)
if key =~ /^active_record_errors_(.*)/
ActiveRecord::Errors.default_error_messages[$1.to_sym] =
symbol_hash[key.to_sym]
end
end
end
LOCALIZED_STRINGS[lang] = symbol_hash
end
end
any one have any idea?
my lang file is saved in utf-8 format.
Thanks there,
ssyangy