Ashley Sheridan wrote:
You're also forgetting one of the most important elements of this. If
you're displaying the characters on a web page, chances are that you
need to add a corresponding meta tag to inform the browser that the
content is utf-8
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
Otherwise the browser will attempt to guess from the first few
characters of output, and because of the large headers in some websites,
will guess completely wrong.
Just to add - I had to deal with this, I think I got it right now but
I'm not positive.
My /etc/my.cnf file has the following:
That way I don't have to remember to specify the charset when I create a
If you don't have control over that file (IE shared host) when you
create your database tables, I believe you need to do
SET character_set_client = utf8;
before your create table commands.
You should also send the charset in a header, IE
header('Content-type: text/html; charset=utf-8');
but for html you also need to have the meta tag as mentioned because if
the page is saved to disk, there's no other way for a browser to know
the charset (and if it isn't there, w3c validator complains).
proper xhtml doesn't need the meta tag because it has the charset in the
<?xml version="1.0" encoding="UTF-8"?>
that opens a proper xhtml document.
If the charset isn't set, then any information sent via post will
probably be sent using whatever charset the operating system uses by
default, so setting the charset to utf-8 is important for pages that are
forms as well as pages that display data.
I'm by no means an expert, that's just what I had to do to get
to properly display.
I already was doing the utf-8 for the web pages, but MySQL defaults to a
different character set - I consider it a CentOS bug, they should have
shipped with my.cnf set to utf-8 IMHO because just about everything else
in the OS is utf-8 by default, but I pulled my hair out for half an hour
trying to figure out why it wasn't working when the reason was the
default charset of the MySQL client used to initially create the
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php