Subject: to_ascii function

From: Halley Pacheco de Oliveira<[email-masked]>
Date: Sat, 5 Jun 2004 10:39:15 -0300 (ART)

This query didn't work as I was expecting. Any reasons
for that ?

SELECT TO_ASCII('ÁÉÍÓÚáéíóúªº°')

result -> 'AEIOUaeioua  '

I used psql, java and phpPgAdmin without success.

(PostgreSQL 7.4.2 encoding latin1)

Regards,
Halley

______________________________________________________________________

Participe da pesquisa global sobre o Yahoo! Mail: 
http://br.surveys.yahoo.com/global_mail_survey_br

---

From: Karel Zak <[email-masked]>
Date: Mon, 7 Jun 2004 11:16:08 +0200

On Sat, Jun 05, 2004 at 10:39:15AM -0300, Halley Pacheco de Oliveira wrote:
> SELECT TO_ASCII('ÁÉÍÓÚáéíóú??°')
> 
> result -> 'AEIOUaeioua  '
> 

 Are all chars  in your query LATIN1  symbols and are you  sure that all
 used  chars  have counterpart  in  ASCII? For  this to_ascii()  support
 LATIN1, LATIN2  and WIN1250 only. I'm  not sure if  there is a  way how
 convert others special chars (for example some Asiatic encodings).

 # show server_encoding;
 server_encoding 
 -----------------
 LATIN1

 # show client_encoding;
 client_encoding 
 -----------------
 LATIN1

 # SELECT '>>' || TO_ASCII('ÁÉÍÓÚáéíóú??°') || '<<';
     ?column?      
 -------------------
 >>AEIOUaeiou?? <<

 The last char  in the string is dec 176 (hex 0xB0). Which  char do you
 expect after conversion to ASCII (0-127)?

    Karel

-- 
 Karel Zak  <[email-masked]>
 http://home.zf.jcu.cz/~zakkr/

---

From: Halley Pacheco de Oliveira<[email-masked]>
Date: Mon, 7 Jun 2004 18:28:10 -0300 (ART)

Dear Karel,

The server encoding and the client encoding are
LATIN1. These results are from phpPgAdmin:

This is ok:

select ascii('ª')

ascii
-----
170

select chr(170)

chr
---
ª

select to_ascii(chr(170))

to_ascii
--------
a

But this is not ok!

select ascii('º')

ascii
-----
186

select chr(186)

chr
---
º

select to_ascii(chr(186))

to_ascii
--------

select ascii(to_ascii(chr(186)))

ascii
-----
32

I think that if to_ascii of ª (170) is a, then
to_ascii of º (186) should be o, and not space.

Halley
 --- Karel Zak <[email-masked]> escreveu: > On Sat,
Jun 05, 2004 at 10:39:15AM -0300, Halley
> Pacheco de Oliveira wrote: