From: Lionel Bouton Date: 2008-04-04T01:25:04+09:00 Subject: Re: UTF-8 in Ruby Vaibhav Bhandari wrote: > [Note: parts of this message were removed to make it a legal post.] > > hi all - > > Whats the recommended way to ensure that a string sent over the wire is > UTF-8. I want to do a post to a web-service and the content needs to be > UTF-8. > > Whats the best way to do - > "content".encoding('UTF-8') > Hum, it depends on your context. If you don't know anything about the string and must make a guess, charguess or chardet are good tools. Note that if you simply want to filter out content which can't be utf-8 the following can be used, class String def utf8_ok? utf8_ok = true begin # will raise an error (Iconv::InvalidSequence from memory) # on invalid utf-8 content Iconv.iconv(utf-8, utf-8, self) rescue utf8_ok = false end utf8_ok end end I use a slighty more complex version where I cache an Iconv instance. This helped solve my UTF-8 problems with one of my databases. Lionel