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.Say what? What OSes is that?
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
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