rendering exotic character

hi all,

I put a ° in a string but when I render it to the screen the ° changes
in <?> block. The rest of the string is renderen correctly.

How is this caused?

Thanks
Stijn

hi all,

I put a ° in a string but when I render it to the screen the ° changes
in <?> block. The rest of the string is renderen correctly.

How is this caused?

http://www.joelonsoftware.com/articles/Unicode.html

Sincerely,
Isak

By default, Rails tells the browser that the content type for your
pages is UTF-8. If your templates are using a different encoding, that
will cause the problem you're seeing.

Many thanks for the reply. It's still not clear thuogh.

My page that renders the questionmark has:
<head>
  <meta http-equiv="content-type" content="text/html;charset=UTF-8" />
   ...

Shouldn't that be sufficient to render the exotic caracter?

Regards,
Stijn

No, not if the character is not actually UTF-8. Your editor has to be
saving as UTF-8 as well.

Let's look at the "degree" character:

The Unicode code point is 0176 decimal (hex 00B0).

The Latin1 encoding is one byte: 0xB0

However, the UTF-8 encoding is *two* bytes: C2 B0

Now, suppose your editor is set to use Latin1. You will see a degree
character on the screen in your editor. When you save the file, the
editor will write this a a single 0xB0 byte (since that's how you
represent this symbol in Latin1 encoding).

Now, when the template gets sent to the browser, you've told it that
you're sending UTF-8. As the data is sent, the browser tries to
interpret the 0xB0 as a UTF-8 sequence and it gets confused, because
0xB0 is not a legal UTF-8 sequence. So, since it doesn't know what
you're trying to do, it shows a question mark or some other marker
character.

Make sense?