From: 7stud -- Date: 2011-05-01T12:22:13+09:00 Subject: Re: A Code Point's Tale: There and Back Again Maybe each_char() will work for you? Take a look at the following code. str = "\xE2\x82\xAC\xE2\x82\xAC" puts str.encoding str.force_encoding("UTF-8") puts str.encoding chars = str.each_char.to_a p chars puts chars[0].encoding puts chars.join --output:-- ASCII-8BIT UTF-8 ["\u20AC", "\u20AC"] UTF-8 €€ (You should see two euro symbols as the last line of output.) The output implies that a string with unicode escapes is given a UTF-8 encoding by default. And that seems to be the case: str = "\u20AC\u20AC" puts str.encoding --output:-- UTF-8 -- Posted via http://www.ruby-forum.com/.