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 = 'LATIN1';
>>update auftraggeber set name_de='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 = '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
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 = shift;
my $to = shift;
my $code = shift;
$converter = Text::Iconv->new($from, $to);
$converted = $converter->convert($code);
return $converted;
' LANGUAGE 'plperlu';
-- SELECT iconv('LATIN2', 'IBM437', 'Hallo Üü a');
-- SELECT pg_client_encoding(), iconv(pg_client_encoding(), 'IBM437',
'Hallo Üü a');
SELECT iconv(pg_client_encoding(), 'IBM437', 'Hallo Üü a');
maybe this is useful ...
Hans