I scourged the web, including this ML's archives, and did not find an answer for this.
I have the following code in my Rails app:
@@converter = Iconv.new('ASCII//TRANSLIT', 'UTF-8')
result = @@converter.iconv(text.to_s).downcase
Now, the facts:
* Inbound text is indeed valid UTF-8
* Transliteration works fine in the following situations:
* Same box, irb, my user or the Rails app's user
* Same box, ruby interpreter, my user or the Rails app's user
* Same box, *ruby script/console production*!!!
And yet, despite running fine in the production-mode Rails console, it b0rks within the running Rails app.
I tried dumping the environments in the Rails app and the production console, and they're just identical. No difference in traditional iconv factors such as LANG or LC_xxx variables, for instance.
Perhaps a note of importance: this DOES work on my dev box:
OSX 10.4, libiconv 1.9.1-11 through Fink, ruby 1.8.6, Rails 1.2.6
However, this b0rks on my stage server:
Debian Etch, iconv (libc) 2.3.6, libiconv-ruby 1.8.2, ruby 1.8.5,
...and on my production server:
RHEL5, iconv (libc) 2.5, ruby 1.8.6, Rails 1.2.6 (frozen in vendor)
I'm at a loss here! Any idea?