|
Posted by Markus on 07/18/07 07:19
Matthew White schrieb:
> "Rik" <luiheidsgoeroe@hotmail.com> wrote in message
> news:op.tvmvq3jkqnv3q9@metallium...
>> On Tue, 17 Jul 2007 20:31:56 +0200, Matthew White <mgw854@msn.com> wrote:
>>
>>> I added that query right after calling the database, and it now works
>>> fine,
>>> but here is a problem- "français" returns three matches:
>>> français
>>> française
>>> françaises
>>>
>>> Why is "ç" being substituted for "ç", even when I pass each returned
>>> string
>>> through htmlentities()?
>>
>> Well, it's clearly not interpreted as UTF8 as it should be. Maybe use
>> iconv to ensure all internal encoding is in utf8?
>>
>> http://www.php.net/iconv
> I tried the iconv, both for internal and external, but to no avail. I
> also added in the mysql_query that set UTF-8, and I have also set
> htmlentities with the third argument of "utf-8". The output is still
> corrupted.
It looks like your string is in UTF-8 encoding, but the output is
converted to Latin-1 or whatever. Check the following points:
1. All scripts (PHP, HTML) are in UTF-8 encoding
2. Send UTF-8 header to the browser:
header('Content-Type: text/html; charset=UTF-8');
3. Set also the appropriate Meta tag in the HTML source (should not be
necessary if correct header is sent, but you never know about browsers):
<meta http-equiv="content-type" content="text/html;charset=UTF-8">
BTW, Please get used to bottom-posting when you correspond with
newsgroups and mailing lists (add your answer below the text you quote,
rather than above as you do in normal e-mail).
HTH
Markus
[Back to original message]
|