Обсуждение: convert function
Hi all
I have problem with "convert" function. Previous behaviour was
SELECT convert('ján', 'UNICODE', 'SQL_ASCII');
=======================================
jan
In postgresql 8.3 is quite new behaviour.
SELECT convert('ján', 'UNICODE', 'SQL_ASCII');
======================================
"j\241n"
This, drives me crazy. I mean, this is not useable for non english
country. I don't need convert to \241 characters. I understand that
someone need this behavour. But there should be possibility switch to
"normal" behaviour.
John
Hello
It's look like SQL_ASCII support diacritic chars now. First you have
to encode from bytea to text
postgres=# SELECT encode(convert('ján', 'UNICODE', 'SQL_ASCII'),'escape');
encode
--------
ján
(1 row)
you wont
postgres=# SELECT to_ascii(encode(convert_to('ján',
'latin2'),'escape'),'latin2');
to_ascii
----------
jan
(1 row)
Regards
Pavel Stehule
convert do conversion from text to bytea type. For diacritic
elimination use to_ascii function:
postgres=# select to_ascii(convert('Příliš žlutý kůň' using
utf8_to_iso_8859_2),'latin2');
to_ascii
------------------
Prilis zluty kun
(1 row)
On 12/12/2007, Jan Sunavec <jan.sunavec@gmail.com> wrote:
> Hi all
>
> I have problem with "convert" function. Previous behaviour was
> SELECT convert('ján', 'UNICODE', 'SQL_ASCII');
> =======================================
> jan
>
> In postgresql 8.3 is quite new behaviour.
> SELECT convert('ján', 'UNICODE', 'SQL_ASCII');
> ======================================
> "j\241n"
>
> This, drives me crazy. I mean, this is not useable for non english
> country. I don't need convert to \241 characters. I understand that
> someone need this behavour. But there should be possibility switch to
> "normal" behaviour.
>
> John
>
> ---------------------------(end of broadcast)---------------------------
> TIP 9: In versions below 8.0, the planner will ignore your desire to
> choose an index scan if your joining column's datatypes do not
> match
>
On 12/12/2007, Jan Sunavec <jan.sunavec@gmail.com> wrote:
> Thanks a lot
>
> Lots like nice a easy solution.. I am not sure if this is fast solution..
> Many convertions you know.. :-(
> Thanks a lot anyway.
>
If you do this often, use functional index.
Pavel
> John
>
> On Wed, 12 Dec 2007 17:13:01 +0100, Pavel Stehule
> <pavel.stehule@gmail.com> wrote:
>
> > Hello
> >
> > It's look like SQL_ASCII support diacritic chars now. First you have
> > to encode from bytea to text
> >
> > postgres=# SELECT encode(convert('ján', 'UNICODE',
> > 'SQL_ASCII'),'escape');
> > encode
> > --------
> > ján
> > (1 row)
> >
> > you wont
> > postgres=# SELECT to_ascii(encode(convert_to('ján',
> > 'latin2'),'escape'),'latin2');
> > to_ascii
> > ----------
> > jan
> > (1 row)
> >
> > Regards
> > Pavel Stehule
> >
> >
> >
> > convert do conversion from text to bytea type. For diacritic
> > elimination use to_ascii function:
> >
> > postgres=# select to_ascii(convert('Příliš žlutý kůň' using
> > utf8_to_iso_8859_2),'latin2');
> > to_ascii
> > ------------------
> > Prilis zluty kun
> > (1 row)
> >
> >
> > On 12/12/2007, Jan Sunavec <jan.sunavec@gmail.com> wrote:
> >> Hi all
> >>
> >> I have problem with "convert" function. Previous behaviour was
> >> SELECT convert('ján', 'UNICODE', 'SQL_ASCII');
> >> =======================================
> >> jan
> >>
> >> In postgresql 8.3 is quite new behaviour.
> >> SELECT convert('ján', 'UNICODE', 'SQL_ASCII');
> >> ======================================
> >> "j\241n"
> >>
> >> This, drives me crazy. I mean, this is not useable for non english
> >> country. I don't need convert to \241 characters. I understand that
> >> someone need this behavour. But there should be possibility switch to
> >> "normal" behaviour.
> >>
> >> John
> >>
> >> ---------------------------(end of broadcast)---------------------------
> >> TIP 9: In versions below 8.0, the planner will ignore your desire to
> >> choose an index scan if your joining column's datatypes do not
> >> match
> >>
>
>
>
Thanks a lot
Lots like nice a easy solution.. I am not sure if this is fast solution..
Many convertions you know.. :-(
Thanks a lot anyway.
John
On Wed, 12 Dec 2007 17:13:01 +0100, Pavel Stehule
<pavel.stehule@gmail.com> wrote:
> Hello
>
> It's look like SQL_ASCII support diacritic chars now. First you have
> to encode from bytea to text
>
> postgres=# SELECT encode(convert('ján', 'UNICODE',
> 'SQL_ASCII'),'escape');
> encode
> --------
> ján
> (1 row)
>
> you wont
> postgres=# SELECT to_ascii(encode(convert_to('ján',
> 'latin2'),'escape'),'latin2');
> to_ascii
> ----------
> jan
> (1 row)
>
> Regards
> Pavel Stehule
>
>
>
> convert do conversion from text to bytea type. For diacritic
> elimination use to_ascii function:
>
> postgres=# select to_ascii(convert('Příliš žlutý kůň' using
> utf8_to_iso_8859_2),'latin2');
> to_ascii
> ------------------
> Prilis zluty kun
> (1 row)
>
>
> On 12/12/2007, Jan Sunavec <jan.sunavec@gmail.com> wrote:
>> Hi all
>>
>> I have problem with "convert" function. Previous behaviour was
>> SELECT convert('ján', 'UNICODE', 'SQL_ASCII');
>> =======================================
>> jan
>>
>> In postgresql 8.3 is quite new behaviour.
>> SELECT convert('ján', 'UNICODE', 'SQL_ASCII');
>> ======================================
>> "j\241n"
>>
>> This, drives me crazy. I mean, this is not useable for non english
>> country. I don't need convert to \241 characters. I understand that
>> someone need this behavour. But there should be possibility switch to
>> "normal" behaviour.
>>
>> John
>>
>> ---------------------------(end of broadcast)---------------------------
>> TIP 9: In versions below 8.0, the planner will ignore your desire to
>> choose an index scan if your joining column's datatypes do not
>> match
>>
Hi all
I have following problem when I use this
select headline('asd asd asd asd asd asd asd asd asd asd asd asd more more
more more more more more', to_tsquery('asd'), '');
I got this
"<b>asd</b> <b>asd</b> <b>asd</b> <b>asd</b> <b>asd</b> <b>asd</b>
<b>asd</b> <b>asd</b> <b>asd</b> <b>asd</b> <b>asd</b> <b>asd</b> more
more more"
So result is shorted than original text. I tryed set MinWords and
MaxWords. But it doesn't help me. So question is how can I get original
text?
Best regards
John
On Wed, 2 Jan 2008, Jan Sunavec wrote:
> Hi all
>
> I have following problem when I use this
>
> select headline('asd asd asd asd asd asd asd asd asd asd asd asd more more
> more more more more more', to_tsquery('asd'), '');
>
> I got this
>
> "<b>asd</b> <b>asd</b> <b>asd</b> <b>asd</b> <b>asd</b> <b>asd</b> <b>asd</b>
> <b>asd</b> <b>asd</b> <b>asd</b> <b>asd</b> <b>asd</b> more more more"
>
> So result is shorted than original text. I tryed set MinWords and MaxWords.
> But it doesn't help me. So question is how can I get original text?
try 'HighlightAll=TRUE
arxiv=# select headline('asd asd asd asd asd asd asd asd asd asd asd asd more more more more more more more',
to_tsquery('asd'),'HighlightAll=TRUE');
headline
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
<b>asd</b> <b>asd</b> <b>asd</b> <b>asd</b> <b>asd</b> <b>asd</b> <b>asd</b> <b>asd</b> <b>asd</b> <b>asd</b>
<b>asd</b><b>asd</b> more more more more more more more
>
> Best regards
>
> John
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: Don't 'kill -9' the postmaster
Regards,
Oleg
_____________________________________________________________
Oleg Bartunov, Research Scientist, Head of AstroNet (www.astronet.ru),
Sternberg Astronomical Institute, Moscow University, Russia
Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
phone: +007(495)939-16-83, +007(495)939-23-83
Thanks a lot. It helps.
On Fri, 04 Jan 2008 16:54:32 +0100, Oleg Bartunov <oleg@sai.msu.su> wrote:
> On Wed, 2 Jan 2008, Jan Sunavec wrote:
>
>> Hi all
>>
>> I have following problem when I use this
>>
>> select headline('asd asd asd asd asd asd asd asd asd asd asd asd more
>> more more more more more more', to_tsquery('asd'), '');
>>
>> I got this
>>
>> "<b>asd</b> <b>asd</b> <b>asd</b> <b>asd</b> <b>asd</b> <b>asd</b>
>> <b>asd</b> <b>asd</b> <b>asd</b> <b>asd</b> <b>asd</b> <b>asd</b> more
>> more more"
>>
>> So result is shorted than original text. I tryed set MinWords and
>> MaxWords. But it doesn't help me. So question is how can I get original
>> text?
>
> try 'HighlightAll=TRUE
>
> arxiv=# select headline('asd asd asd asd asd asd asd asd asd asd asd asd
> more more more more more more more', to_tsquery('asd'),
> 'HighlightAll=TRUE');
> headline
>
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> <b>asd</b> <b>asd</b> <b>asd</b> <b>asd</b> <b>asd</b> <b>asd</b>
> <b>asd</b> <b>asd</b> <b>asd</b> <b>asd</b> <b>asd</b> <b>asd</b> more
> more more more more more more
>
>
>>
>> Best regards
>>
>> John
>>
>> ---------------------------(end of broadcast)---------------------------
>> TIP 2: Don't 'kill -9' the postmaster
>
> Regards,
> Oleg
> _____________________________________________________________
> Oleg Bartunov, Research Scientist, Head of AstroNet (www.astronet.ru),
> Sternberg Astronomical Institute, Moscow University, Russia
> Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
> phone: +007(495)939-16-83, +007(495)939-23-83