# Utf-8 support

**URL:** <https://www.ruby-forum.com/t/utf-8-support/80592>\
**Category:** Rails\
**Created:** [December 29, 2006, 12:56am UTC](https://www.ruby-forum.com/t/utf-8-support/80592 "2006-12-29T00:56:08Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Dalit\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/ccd318/32.png) [@Dalit\_A](https://www.ruby-forum.com/u/Dalit_A)\
**Post date:** [December 29, 2006, 12:56am UTC](https://www.ruby-forum.com/t/utf-8-support/80592/1 "2006-12-29T00:56:08Z")

</div>

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

## –

Nandri,  
Dalit A.  
[http://www.tamil.net/](http://www.tamil.net/)  
à®¤à®®à®¿à®´à¯ à®‡à®£à¯ˆà®¯à®®à¯  
Telford, UK  
[http://www.erumbugal.com](http://www.erumbugal.com)  
[http://www.mindcolonies.com](http://www.mindcolonies.com)  
[http://www.erumbugal.com/Profiles.AmalaSingh](http://www.erumbugal.com/Profiles.AmalaSingh)

> **[Amala Singh's Ryze Business Networking Page](https://www.ryze.com/go/amalasingh)**
>
> Ryze Business Networking, make business connections, make new contacts and friends

[http://del.icio.us/amalasingh/tamilhistory](http://del.icio.us/amalasingh/tamilhistory)

---

<div class="post-metadata">

**Author:** ![Dalit\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/ccd318/32.png) [@Dalit\_A](https://www.ruby-forum.com/u/Dalit_A)\
**Post date:** [December 29, 2006, 1:22am UTC](https://www.ruby-forum.com/t/utf-8-support/80592/2 "2006-12-29T01:22:10Z")

</div>

On Dec 28, 5:39 pm, “Dalit A.” [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> I am trying to use utf-8 Tamil in a Rails application.

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.

---

<div class="post-metadata">

**Author:** ![Dalit\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/ccd318/32.png) [@Dalit\_A](https://www.ruby-forum.com/u/Dalit_A)\
**Post date:** [December 29, 2006, 5:12am UTC](https://www.ruby-forum.com/t/utf-8-support/80592/3 "2006-12-29T05:12:09Z")

</div>

There are many topics covering the proper setup of UTF-8. Try searching  
the forums. UTF-8 works fine for me with Japanese.

---

<div class="post-metadata">

**Author:** ![Dalit\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/ccd318/32.png) [@Dalit\_A](https://www.ruby-forum.com/u/Dalit_A)\
**Post date:** [December 29, 2006, 5:54am UTC](https://www.ruby-forum.com/t/utf-8-support/80592/4 "2006-12-29T05:54:58Z")

</div>

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
#
def configure_charsets
  content_type = @headers["Content-Type"] || 'text/html'
  if /^text\//.match(content_type)
    @headers["Content-Type"] = "#{content_type}; charset=utf-8"
  end
  ActiveRecord::Base.connection.execute 'SET NAMES UTF8'
end

```

Hope that helps.

On 12/28/06, Dalit A. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> –  
> [http://del.icio.us/amalasingh/tamilhistory](http://del.icio.us/amalasingh/tamilhistory)
> 
> >

## –

## seth at subimage interactive

## [http://www.subimage.com](http://www.subimage.com) [http://sublog.subimage.com](http://sublog.subimage.com)

> **[Freelance Time Tracking Software — Online Invoice Software](https://cashboardapp.com/)**
>
> Freelance time tracking software, online invoice software & project management.
> Used by thousands worldwide since 2007. FREE trial.

[http://dev.subimage.com/projects/substruct](http://dev.subimage.com/projects/substruct)

---

<div class="post-metadata">

**Author:** ![Dalit\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/ccd318/32.png) [@Dalit\_A](https://www.ruby-forum.com/u/Dalit_A)\
**Post date:** [December 29, 2006, 5:38am UTC](https://www.ruby-forum.com/t/utf-8-support/80592/5 "2006-12-29T05:38:56Z")

</div>

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/](http://wiki.rubyonrails.org/rails/pages/)  
InternationalizationComparison.
3. Use this for rails 1.1

script/plugin install [http://svn.globalize-rails.org/svn/globalize/](http://svn.globalize-rails.org/svn/globalize/)  
globalize/ branches/for-1.1.

---

<div class="post-metadata">

**Author:** ![Dalit\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/ccd318/32.png) [@Dalit\_A](https://www.ruby-forum.com/u/Dalit_A)\
**Post date:** [December 29, 2006, 9:23pm UTC](https://www.ruby-forum.com/t/utf-8-support/80592/6 "2006-12-29T21:23:44Z")

</div>

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/](http://dev.rubyonrails.org/svn/rails/plugins/)  
exception\_notification/  
acts\_as\_authenticated:  
repos: [http://svn.techno-weenie.net/projects/plugins/](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
