Обсуждение: Encoding problem
Hi List !
I am trying to remove accents from a string. I found a nice
solution for this on postgresqlfr, using the to_ascii()
function.
Now, the problem I have is :
mydb=# SELECT to_ascii(convert('abcdef', 'LATIN9'));
ERROR: encoding conversion from UTF8 to ASCII not supported
Why is the conversion to LATIN9 not working as expected ?
My database's encoding is UTF8.
Furthermore, in PgAdmin, running SELECT convert(somestring,
'LATIN9'); returns empty strings whenever somestring
contains special (accentued, in my case) characters.
SELECT Length(convert(somestring, 'LATIN9')); looks OK though !
I think my misunderstanding of encoding is driving me crazy...
Could anyone help me on this ?
Thanks !
--
Arnaud
> I am trying to remove accents from a string. I found a nice
> solution for this on postgresqlfr, using the to_ascii()
> function.
>
> Now, the problem I have is :
>
> mydb=# SELECT to_ascii(convert('abcdef', 'LATIN9'));
> ERROR: encoding conversion from UTF8 to ASCII not supported
>
> Why is the conversion to LATIN9 not working as expected ?
> My database's encoding is UTF8.
Maybe you actually want to
test=> select to_ascii(convert('ábcdêf', 'LATIN9'), 'LATIN9');
to_ascii
----------
abcdef
(1 row)
Yours,
Laurenz Albe
Albe Laurenz a écrit :
>> I am trying to remove accents from a string. I found a nice
>> solution for this on postgresqlfr, using the to_ascii()
>> function.
>>
>> Now, the problem I have is :
>>
>> mydb=# SELECT to_ascii(convert('abcdef', 'LATIN9'));
>> ERROR: encoding conversion from UTF8 to ASCII not supported
>>
>> Why is the conversion to LATIN9 not working as expected ?
>> My database's encoding is UTF8.
>
> Maybe you actually want to
>
> test=> select to_ascii(convert('ábcdêf', 'LATIN9'), 'LATIN9');
> to_ascii
> ----------
> abcdef
> (1 row)
Indeed !!!
Thanks a lot !
I suppose that not giving the encoding to 'to_ascii'
defaulted to the database encoding ?
Sorry for this mistake, I did not realize that this setting
existed for the to_ascii function...
Thanks again !
--
Arnaud