I’m having trouble when I write accented characters into HTML files;
though the accents appear properly in my terminal, they are badly
“messed up” in the HTML output. CGI.escape doesn’t fix the problem,
because these are not “special” characters line < or >, but simply
accented e’s, o’s, etc. I’m assuming the problem has something to do
with a character set type mismatch between the file Ruby is writing
and what the browser (Firefox) expects, but I’m at a loss as to how to
correct it.
Use hexdump -C on the file to see what the actual byte sequences are. If
these are single-byte characters then it’s probably ISO-8859-1. If they
are two bytes then it’s probably UTF-8.
You can use an XML declaration and/or a tag in the section
to tell the browser which character set your document is in, and/or get
your web server to set the correct charset in the Content-Type header.
Use hexdump -C on the file to see what the actual byte sequences
are. If
these are single-byte characters then it’s probably ISO-8859-1. If
they
are two bytes then it’s probably UTF-8.
I have some code that detects valid UTF-8 data here:
I’m having trouble when I write accented characters into HTML files;
though the accents appear properly in my terminal, they are badly
“messed up” in the HTML output. CGI.escape doesn’t fix the problem,
because these are not “special” characters line < or >, but simply
accented e’s, o’s, etc. I’m assuming the problem has something to do
with a character set type mismatch between the file Ruby is writing
and what the browser (Firefox) expects, but I’m at a loss as to how to
correct it.
Any advice most appreciated,
Start by ensuring that you have the following at the top of
Also, post the “messed up” characters; they’ll tell us something about
the encoding problem.
Oh, and make sure your editor is writing utf-8.
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.