Say what? What OSes is that?

See attached test program. It tries to convert multibyte russian word in UTF8 to wide char with C, ru_RU-KOI8-R and ru_RU.UTF-8 locales. The word contains 6 letters.

FreeBSD 7.2 (short output):
========C==========
mbstowcs returns 12
========ru_RU.KOI8-R==========
mbstowcs returns 12
========ru_RU.UTF-8==========
mbstowcs returns 6

Linux 2.6.23 libc 2.5 (short output):
========C==========
mbstowcs returns -1
========ru_RU.KOI8-R==========
mbstowcs returns 12
========ru_RU.UTF-8==========
mbstowcs returns 6


The program also prints test of iswalpha:
Linux 2.6.23 libc 2.5 (full output):
========C==========
mbstowcs returns -1
ERROR
========ru_RU.KOI8-R==========
mbstowcs returns 12
        0-th chacter is alpha
        1-th chacter is NOT alpha
        2-th chacter is alpha
        3-th chacter is NOT alpha
        4-th chacter is alpha
        5-th chacter is NOT alpha
        6-th chacter is alpha
        7-th chacter is NOT alpha
        8-th chacter is alpha
        9-th chacter is NOT alpha
        10-th chacter is alpha
        11-th chacter is NOT alpha
========ru_RU.UTF-8==========
mbstowcs returns 6
        0-th chacter is alpha
        1-th chacter is alpha
        2-th chacter is alpha
        3-th chacter is alpha
        4-th chacter is alpha
        5-th chacter is alpha

Attachment: t.c.gz
Description: application/gzip

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to