Encoding issues

Encoding issues

am 28.04.2003 13:14:37 von Dani Oderbolz

Hi all,

I have got a problem with the encoding of special caracters.
My DB uses the Encoding 'LATIN1'.
I modify data like this in psql:

SET CLIENT_ENCODING =3D 'LATIN1';
update auftraggeber set name_de=3D'Europäische Union';

When I access this in PHP (using this Query:
SET CLIENT_ENCODING =3D 'LATIN1';
select name_de from projekte.sel_auftraggeber;

I get this:

Europäische Union

Hhhm.

Is there something I miss here?
Is there a way to specify a "standard" encoding in PHP,
so that I don't have to set the encoding?

Thanks for your help,
cheers, Dani


---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org

Re: Encoding issues

am 30.04.2003 09:51:30 von Markus Bertheau

В Пнд, 28.04.2003, в 13:14, Dani Oderbolz п=
ишет:
> Hi all,
>=20
> I have got a problem with the encoding of special caracters.
> My DB uses the Encoding 'LATIN1'.
> I modify data like this in psql:
>=20
> SET CLIENT_ENCODING =3D 'LATIN1';
> update auftraggeber set name_de=3D'Europäische Union';

Where specificially does the string "Europäische Union" come from? Is =
it
input in a web form?

>=20
> When I access this in PHP (using this Query:
> SET CLIENT_ENCODING =3D 'LATIN1';
> select name_de from projekte.sel_auftraggeber;
>=20
> I get this:
>=20
> Europäische Union

This looks like UTF-8.

--=20
Markus Bertheau.
Berlin, Berlin.
Germany.


---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org

Re: Encoding issues

am 30.04.2003 10:04:23 von Hans-Juergen Schoenig

Markus Bertheau wrote:

>В Пнд, 28.04.2003, в 13:14, Dani Oderbolz п=
ишет:
>
>
>>Hi all,
>>
>>I have got a problem with the encoding of special caracters.
>>My DB uses the Encoding 'LATIN1'.
>>I modify data like this in psql:
>>
>>SET CLIENT_ENCODING =3D 'LATIN1';
>>update auftraggeber set name_de=3D'Europäische Union';
>>
>>
>
>Where specificially does the string "Europäische Union" come from? Is=
it
>input in a web form?
>
>
>
>>When I access this in PHP (using this Query:
>>SET CLIENT_ENCODING =3D 'LATIN1';
>>select name_de from projekte.sel_auftraggeber;
>>
>>I get this:
>>
>>Europäische Union
>>
>>
>
>This looks like UTF-8.
>
>
>

try that one ...
we have used this as a basic workaround for some problems we had with=20
encoding ...

-- converts any character set to any character set ...
CREATE OR REPLACE FUNCTION iconv(text, text, text) RETURNS text AS '
use Text::Iconv;

my $from =3D shift;
my $to =3D shift;
my $code =3D shift;

$converter =3D Text::Iconv->new($from, $to);
$converted =3D $converter->convert($code);

return $converted;

' LANGUAGE 'plperlu';

-- SELECT iconv('LATIN2', 'IBM437', 'Hallo Üü a');
-- SELECT pg_client_encoding(), iconv(pg_client_encoding(), 'IBM437',=20
'Hallo Üü a');
SELECT iconv(pg_client_encoding(), 'IBM437', 'Hallo Üü a');


maybe this is useful ...

Hans


---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to majordomo@postgresql.org so that your
message can get through to the mailing list cleanly