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