Thread: unicode and frensh accents

unicode and frensh accents

From
Zouari Fourat
Date:
Hello,
I have a problem displaying frensh data :
my client encoding is set to UNICODE (same as phpPgAdmin)
when selecting data with phpPgAdmin, there's no errors displaying
accents and other special frensh caracters.
but when selecting from my own script i dont get those frensh caracters.
in my html pages i do :
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
like phpPgAdmin and there is allways problems displaying frensh data...
anyone can help ?

Re: unicode and frensh accents

From
Christopher Kings-Lynne
Date:
> I have a problem displaying frensh data :
> my client encoding is set to UNICODE (same as phpPgAdmin)
> when selecting data with phpPgAdmin, there's no errors displaying
> accents and other special frensh caracters.
> but when selecting from my own script i dont get those frensh caracters.
> in my html pages i do :
> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
> like phpPgAdmin and there is allways problems displaying frensh data...
> anyone can help ?

Well, you can try sending an http header as well, before ANY of your
script's output:

header('Content-Type: text/html; charset=UTF-8');

Alternatively, try setting the client encoding to unicode with an sql
statement before running any queries, however that should not be
necessary as client encoding defaults to server encoding.

BTW, have a look at the printHeader() method in classes/Misc.php in
phpPgAdmin to see how we do it.

Chris

Re: unicode and frensh accents

From
Zouari Fourat
Date:
in phppgadmin, the statement
header('Content-Type: text/html; charset=UTF-8');

[root@apps pgadmin]# grep -r "header(" *
dataexport.php:                                 header("Location: {$url}");
dataexport.php:                                 header("Location: {$url}");
dataexport.php:                                 header("Location: {$url}");
dataexport.php:                         header('Content-Type: text/plain');
dataexport.php:                         header('Content-Type:
application/download');
dataexport.php:                         header('Content-Disposition:
attachment; filename=dump.' . $ext);
dataexport.php:                 header('Content-Type: text/plain');
dbexport.php:                           header('Content-Type: text/plain');
dbexport.php:                                   header('Content-Type:
text/plain');
dbexport.php:                                   header('Content-Type:
application/download');
dbexport.php:
header('Content-Disposition: attachment; filename=dump.sql');
dbexport.php:                           header('Content-Type:
application/download');
dbexport.php:                           header('Content-Disposition:
attachment; filename=dump.sql.gz');
help.php:                               header("Location: $url");
logout.php:header('Location: index.php');

in classes/Misc.php
there's
echo "<meta http-equiv=\"Content-Type\" content=\"text/html;
charset={$lang['appcharset']}\" />\n";

wich result in <meta http-equiv="Content-Type" content="text/html;
charset=UTF-8" />
same as i did ...

there's another thing that can be helpfull tracking my problem.
when getting data well formed in my explorer from phppgadmin and then
saving it to my hard disk and displaying it from its local location i
get the same problems.
and the line :
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
exists !


On Thu, 03 Mar 2005 22:28:04 +0800, Christopher Kings-Lynne
<chriskl@familyhealth.com.au> wrote:
> > I have a problem displaying frensh data :
> > my client encoding is set to UNICODE (same as phpPgAdmin)
> > when selecting data with phpPgAdmin, there's no errors displaying
> > accents and other special frensh caracters.
> > but when selecting from my own script i dont get those frensh caracters.
> > in my html pages i do :
> > <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
> > like phpPgAdmin and there is allways problems displaying frensh data...
> > anyone can help ?
>
> Well, you can try sending an http header as well, before ANY of your
> script's output:
>
> header('Content-Type: text/html; charset=UTF-8');
>
> Alternatively, try setting the client encoding to unicode with an sql
> statement before running any queries, however that should not be
> necessary as client encoding defaults to server encoding.
>
> BTW, have a look at the printHeader() method in classes/Misc.php in
> phpPgAdmin to see how we do it.
>
> Chris
>

Re: unicode and frensh accents

From
Christopher Kings-Lynne
Date:
> there's another thing that can be helpfull tracking my problem.
> when getting data well formed in my explorer from phppgadmin and then
> saving it to my hard disk and displaying it from its local location i
> get the same problems.
> and the line :
> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
> exists !

Then I have no idea...

Re: unicode and frensh accents

From
Zouari Fourat
Date:
ok i admit...
that last one is wrong, the page when saved displays well formed data...

but what about header('... charset=UTF-8 statement ? it doesnt occur
in phppgadmin files ...


On Thu, 03 Mar 2005 23:24:27 +0800, Christopher Kings-Lynne
<chriskl@familyhealth.com.au> wrote:
> > there's another thing that can be helpfull tracking my problem.
> > when getting data well formed in my explorer from phppgadmin and then
> > saving it to my hard disk and displaying it from its local location i
> > get the same problems.
> > and the line :
> > <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
> > exists !
>
> Then I have no idea...
>

Re: unicode and frensh accents

From
Markus Bertheau
Date:
У Чтв, 2005-03-03 у 16:51 +0100, Zouari Fourat пише:
> ok i admit...
> that last one is wrong, the page when saved displays well formed data...
>
> but what about header('... charset=UTF-8 statement ? it doesnt occur
> in phppgadmin files ...

Right, we don't set it. Usually Apache does if not told otherwise.

What do you get from your own script? Best make a screenshot.

Markus

--
Markus Bertheau <twanger@bluetwanger.de>

Attachment

Re: unicode and frensh accents

From
Miroslav Šulc
Date:
Maybe you could send us the code that retrieves the data from PostgreSQL.

I personally use 'pg_set_client_encoding($link, 'UNICODE');' before I
get data from server to be sure I get it in utf-8 encoding. Other thing
that might be a problem is that default Apache configuration file
contains 'AddDefaultCharset ISO-8859-1' instruction which sets default
charset in case the Apache cannot find one in the page. Disabling this
makes characters unmangled (it may and probably should by solved other
way but I didn't spend my time on figuring how).

Miroslav Šulc



Markus Bertheau wrote:

>У Чтв, 2005-03-03 у 16:51 +0100, Zouari Fourat пише:
>
>
>>ok i admit...
>>that last one is wrong, the page when saved displays well formed data...
>>
>>but what about header('... charset=UTF-8 statement ? it doesnt occur
>>in phppgadmin files ...
>>
>>
>
>Right, we don't set it. Usually Apache does if not told otherwise.
>
>What do you get from your own script? Best make a screenshot.
>
>Markus
>
>
>

Attachment