RE: [PHP-DB] Special chars & UTF-8: sometimes ok, sometimes wrong
| From: | Instruct ICC | Date: | Thu, 18 Oct 2007 17:09:40 +0000 |
| Subject: | RE: [PHP-DB] Special chars & UTF-8: sometimes ok, sometimes wrong | ||
| References: | 1 | Groups: | php.db |
| Request: | Send a blank email to php-db+get-44233@lists.php.net to get a copy of this message | ||
> Hi.
>
> Working with PHP 4.4 and mySQL 4.1, I've got some texts stored in a
> UTF-8 table with special chars.
>
> I serve a UTF-8 header within my HTML, Apache is configured to serve
> UTF-8 and PHP scripts are saved in UTF-8 charset.
>
> However, sometimes I get 'España' and other times 'Espa�a'. The
> difference? I press F5 (Refresh) bottom on my web browser (I use
> Firefox and Internet Explorer).
>
> This is the first time I experience this issue.
>
> When I have suffered problems with special chars I use utf8_decode or
> utf8_encode, but I always try to store text data in UTF-8 charset and
> serve them always with UTF-8 PHP scripts.
>
> However, this is a very odd issue, since it happens only with text
> taken from DataBase, but not from texts written in scripts :(
>
> Any similar experience?
Yes.
MySQL 4.1.20-log with columns in utf8_unicode_ci Collation.
PHP 4.3.10 serving web pages with charset=UTF-8 read from the MySQL column above.
In the html page:
If I echo utf8_encode($fieldFromDB) it looks good. If I remove utf8_encode, it looks bad.
After submitting the html form, if I send an html email (setting charset=UTF-8) or store it back
into the utf8_unicode_ci Collation column, it looks bad.
HOWEVER, I am using characters from the extended ascii table http://asciitable.com/
We have people from different countries using the same scripts and database. I thought
utf8_unicode_ci should handle all or most. What should I be using?
Also, in the html form, I have method="post" enctype="multipart/form-data". Is
there a form property needed as well?
_________________________________________________________________
Boo! Scare away worms, viruses and so much more! Try Windows Live OneCare!
http://onecare.live.com/standard/en-us/purchase/trial.aspx?s_cid=wl_hotmailnews