utf-8 support

Folks,

I am trying to use utf-8 Tamil in a Rails application. When I edited Tamil unicode contents in a text box and checked the output. The text got distorted when it is showing it back.

Any help appreciated

Are you using any plug-ins? I have an application that uses Mandarin Chinese. It works beautifully with the standard installation of Rails but when I added the Ferret text search plug-in, I could no longer use Unicode.

Dalit,

There are several things you need to do. 1) Make sure your database has UTF-8 internationalization set 2) Check this out: http://wiki.rubyonrails.org/rails/pages/ InternationalizationComparison. 3) Use this for rails 1.1

script/plugin install http://svn.globalize-rails.org/svn/globalize/ globalize/ branches/for-1.1.

I’ve had that problem as well.

Adding this as a before_filter to application.rb seems to fix things. It makes sure that all rhtml files are set to utf8, and spares RJS from setting the content-type header so the code still executes.

# Switches to UTF8 charset

I apologize for pointing people to my blog and then having it tank. I'm having some server issues.

Allow me to say that my solution is not as elegant as RaPT but in case you're interested, here is my install_plugins.rake (in the lib/tasks directory)

require 'yaml' namespace :plugins do desc "install a known list of plugins, specified in config/base_plugins.yml"      task 'install_base' do          f = YAML::load_file(File.join(RAILS_ROOT, 'config', 'base_plugins.yml'))          f.each_pair do |plugin, options|              force, svn = '', ''              force = ' --force' if (options[:force] && options[:force].downcase == 'yes')              svn = ' -X' if (options[:svn] && options[:svn].downcase == 'yes')              if force.empty? && File.exist?(File.join(RAILS_ROOT, "vendor/plugins/#{plugin}"))                  puts "Skipping #{plugin} -- already installed and force options not specified."              else                  cmd = "ruby #{RAILS_ROOT}/script/plugin install #{svn}#{options['repos']} #{plugin}#{force}"                  puts "*** installing #{cmd}"                  system(cmd)              end          end      end end

Here is my standard 'base_plugins.yml' (in the config directory)

exception_notification:    repos: http://dev.rubyonrails.org/svn/rails/plugins/exception_notification/ acts_as_authenticated:    repos: http://svn.techno-weenie.net/projects/plugins/acts_as_authenticated rspec:    repos: svn://rubyforge.org/var/svn/rspec/tags/REL_0_7_4/vendor/rspec_on_rails/vendor/plugins/rspec

--steve