Accent stress - ASCII - How to get rid of strange characters

I just spent some hours to solve a problem that many people must have : How to correctly show Latin accent characters in rails?

The problem is that usually, you get all '?' when sending to the browser things like 'ç', 'ã' etc.

I spent many hours dealing with this, but couldn't find a good solution from Mr. Google.

So, I wrote the following method :

def to_h(string) saida="" asci = Hash.new   for i in 1..255   asci[i.chr] = i   end   string.each_char do |charac|   saida = saida+ "&#"+asci[charac].to_s   end   return saida end

You should put it either in the application_helper.rb and at the controllers application.rb, so that you can call it either from a view and from a controller.

Basically, it encodes the string in '&#' codes that are standard html for the 'monkey' browser.

Sweet ! Now :

<%=to_h("atenção") %>

outputs as :

atenção

and not as aten??o :slight_smile:

Sorry that it is not elegant enough, I had to make a ascii hash, since I couldn't find a standard Ruby function to do this.

If someone can help, please post.

Regards,

OK.

Hi, just knew that the [0] can return the ascii code : e.g. : "A"[0] >> 65 So, the method is :

def to_h(string) saida=""   string.each_char do |charac|   saida = saida+ "&#"+charac[0].to_s   end   return saida end