* [mdk-re] Вопрос по локали...
@ 2001-09-27 11:02 Serge Ivanoff
2001-09-28 1:33 ` Roman S
2001-09-28 17:53 ` [mdk-re] " Sergey Vlasov
0 siblings, 2 replies; 10+ messages in thread
From: Serge Ivanoff @ 2001-09-27 11:02 UTC (permalink / raw)
To: mandrake-russian
Проблем такой:
В результате долгих раскопок выяснилось что функция isprintable() не
воспринимает русские буквы.
т.е судя по описанию набор символов которые она воспринимает как
печатабельные зависит от локали - в русской локали должно воспринимать
русские буквы. А вот и не работает.
Кто наступал на это? Как решили проблему?
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [mdk-re] Вопрос по локали...
2001-09-27 11:02 [mdk-re] Вопрос по локали Serge Ivanoff
@ 2001-09-28 1:33 ` Roman S
2001-09-28 9:52 ` [mdk-re] " Serge Ivanoff
2001-09-28 21:22 ` [mdk-re] " Mikhail Zabaluev
2001-09-28 17:53 ` [mdk-re] " Sergey Vlasov
1 sibling, 2 replies; 10+ messages in thread
From: Roman S @ 2001-09-28 1:33 UTC (permalink / raw)
To: mandrake-russian
On Thu, 27 Sep 2001 11:20:45 +0400
"Serge Ivanoff" <SergeIV@mail.ru> wrote:
> Проблем такой:
>
> В результате долгих раскопок выяснилось что функция isprintable() не
> воспринимает русские буквы.
> т.е судя по описанию набор символов которые она воспринимает как
> печатабельные зависит от локали - в русской локали должно воспринимать
> русские буквы. А вот и не работает.
> Кто наступал на это? Как решили проблему?
Имеется в виду isprint?
Не огорчайтесь, такая же ерундень со всеми функциями группы ctype.
--
Rgds!
Roman Savelyev.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [mdk-re] Re: [mdk-re] Вопрос по локали...
2001-09-28 1:33 ` Roman S
@ 2001-09-28 9:52 ` Serge Ivanoff
2001-09-28 21:22 ` [mdk-re] " Mikhail Zabaluev
1 sibling, 0 replies; 10+ messages in thread
From: Serge Ivanoff @ 2001-09-28 9:52 UTC (permalink / raw)
To: mandrake-russian
> > Проблем такой:
> >
> > В результате долгих раскопок выяснилось что функция isprintable() не
> > воспринимает русские буквы.
> > т.е судя по описанию набор символов которые она воспринимает как
> > печатабельные зависит от локали - в русской локали должно воспринимать
> > русские буквы. А вот и не работает.
> > Кто наступал на это? Как решили проблему?
>
> Имеется в виду isprint?
> Не огорчайтесь, такая же ерундень со всеми функциями группы ctype.
И как жить после этого? Неужели нет решения?
^ permalink raw reply [flat|nested] 10+ messages in thread
* [mdk-re] Re: Вопрос по локали...
2001-09-28 1:33 ` Roman S
2001-09-28 9:52 ` [mdk-re] " Serge Ivanoff
@ 2001-09-28 21:22 ` Mikhail Zabaluev
2001-09-28 22:23 ` Roman S
1 sibling, 1 reply; 10+ messages in thread
From: Mikhail Zabaluev @ 2001-09-28 21:22 UTC (permalink / raw)
To: mandrake-russian
Hello Roman,
On Thu, Sep 27, 2001 at 11:11:41PM +0400, Roman S wrote:
>
> On Thu, 27 Sep 2001 11:20:45 +0400
> "Serge Ivanoff" <SergeIV@mail.ru> wrote:
>
> > Проблем такой:
> >
> > В результате долгих раскопок выяснилось что функция isprintable() не
> > воспринимает русские буквы.
> > т.е судя по описанию набор символов которые она воспринимает как
> > печатабельные зависит от локали - в русской локали должно воспринимать
> > русские буквы. А вот и не работает.
> > Кто наступал на это? Как решили проблему?
Результат "echo $LANG; echo $LC_CTYPE" -- в студию.
>
> Имеется в виду isprint?
> Не огорчайтесь, такая же ерундень со всеми функциями группы ctype.
$ perl -MPOSIX -e 'for ($c = 0x80; $c <= 0xff; $c++) {
printf("%X\n", $c) unless isprint(chr($c)); }'
9A
То же самое с LC_CTYPE=C дает все коды; насколько я понимаю, все, что
выше Latin-1, считается в локали C непечатным. В чем же ерундень?
Модуль POSIX, AFAIK, просто использует функции libc.
--
Stay tuned,
MhZ JID: mookid@jabber.org
___________
Bell Labs Unix -- Reach out and grep someone.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [mdk-re] Re: Вопрос по локали...
2001-09-28 21:22 ` [mdk-re] " Mikhail Zabaluev
@ 2001-09-28 22:23 ` Roman S
2001-09-28 22:37 ` Aleksey Novodvorsky
0 siblings, 1 reply; 10+ messages in thread
From: Roman S @ 2001-09-28 22:23 UTC (permalink / raw)
To: mandrake-russian
[-- Attachment #1: Type: text/plain, Size: 175 bytes --]
On Fri, 28 Sep 2001 21:35:31 +0400
Mikhail Zabaluev <mhz@alt-linux.org> wrote:
> Результат "echo $LANG; echo $LC_CTYPE" -- в студию.
См. вложение.
--
Rgds!
Roman Savelyev.
[-- Attachment #2: locchk.tar.gz --]
[-- Type: application/octet-stream, Size: 714 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [mdk-re] Re: Вопрос по локали...
2001-09-28 22:23 ` Roman S
@ 2001-09-28 22:37 ` Aleksey Novodvorsky
2001-09-28 23:09 ` Roman S
0 siblings, 1 reply; 10+ messages in thread
From: Aleksey Novodvorsky @ 2001-09-28 22:37 UTC (permalink / raw)
To: mandrake-russian
Roman S wrote:
> On Fri, 28 Sep 2001 21:35:31 +0400
> Mikhail Zabaluev <mhz@alt-linux.org> wrote:
>
> > Результат "echo $LANG; echo $LC_CTYPE" -- в студию.
> См. вложение.
>
Все верно. По умолчанию после вызова программы locale -- C.
Для использования текущей:
...
#include <locale.h>
...
setlocale (LC_ALL,"");
Rgrds, AEN
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [mdk-re] Re: Вопрос по локали...
2001-09-28 22:37 ` Aleksey Novodvorsky
@ 2001-09-28 23:09 ` Roman S
2001-09-29 12:47 ` Sergey Vlasov
0 siblings, 1 reply; 10+ messages in thread
From: Roman S @ 2001-09-28 23:09 UTC (permalink / raw)
To: mandrake-russian
On Fri, 28 Sep 2001 22:45:27 +0400
Aleksey Novodvorsky <aen@logic.ru> wrote:
> setlocale (LC_ALL,"");
Так не интересно. Так оно работать будет :)
Следующий же вопрос будет про GTK+ :))
--
Rgds!
Roman Savelyev.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [mdk-re] Re: Вопрос по локали...
2001-09-28 23:09 ` Roman S
@ 2001-09-29 12:47 ` Sergey Vlasov
2001-09-29 19:18 ` Roman S
0 siblings, 1 reply; 10+ messages in thread
From: Sergey Vlasov @ 2001-09-29 12:47 UTC (permalink / raw)
To: mandrake-russian
On Fri, 28 Sep 2001 23:15:13 +0400
Roman S <rromas@mailru.com> wrote:
> On Fri, 28 Sep 2001 22:45:27 +0400
> Aleksey Novodvorsky <aen@logic.ru> wrote:
>
> > setlocale (LC_ALL,"");
> Так не интересно. Так оно работать будет :)
А Вам интересно, чтобы не работало? :)
> Следующий же вопрос будет про GTK+ :))
gtk_set_locale()
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [mdk-re] Re: Вопрос по локали...
2001-09-29 12:47 ` Sergey Vlasov
@ 2001-09-29 19:18 ` Roman S
0 siblings, 0 replies; 10+ messages in thread
From: Roman S @ 2001-09-29 19:18 UTC (permalink / raw)
To: mandrake-russian
On Sat, 29 Sep 2001 12:30:21 +0400
Sergey Vlasov <vsu@mivlgu.murom.ru> wrote:
> Следующий же вопрос будет про GTK+ :))
Всю интригу запороли....
Про правила формирования ru.po спросить что-ли до кучи? :)
Шуточки да подковырки шуточками, а есть серьёзный вопрос.
Куда (или кого) стцкнуть кувалдочкой, чтоб прекратить бардак с .omf-ками....
--
Rgds!
Roman Savelyev.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [mdk-re] Вопрос по локали...
2001-09-27 11:02 [mdk-re] Вопрос по локали Serge Ivanoff
2001-09-28 1:33 ` Roman S
@ 2001-09-28 17:53 ` Sergey Vlasov
1 sibling, 0 replies; 10+ messages in thread
From: Sergey Vlasov @ 2001-09-28 17:53 UTC (permalink / raw)
To: mandrake-russian
On Thu, 27 Sep 2001 11:20:45 +0400
"Serge Ivanoff" <SergeIV@mail.ru> wrote:
> В результате долгих раскопок выяснилось что функция isprintable() не
> воспринимает русские буквы.
> т.е судя по описанию набор символов которые она воспринимает как
> печатабельные зависит от локали - в русской локали должно воспринимать
> русские буквы. А вот и не работает.
> Кто наступал на это? Как решили проблему?
Ничего подобного:
#include <stdio.h>
#include <ctype.h>
#include <locale.h>
int main(void)
{
int ch;
setlocale(LC_ALL, "");
while ((ch = getchar()) != EOF) {
if (isprint(ch))
printf("0x%02x: printable\n", ch);
else
printf("0x%02x: unprintable\n", ch);
}
return 0;
}
$ gcc test.c
$ locale
LANG=ru_RU.KOI8-R
LC_CTYPE="ru_RU.KOI8-R"
LC_NUMERIC="ru_RU.KOI8-R"
LC_TIME="ru_RU.KOI8-R"
LC_COLLATE="ru_RU.KOI8-R"
LC_MONETARY="ru_RU.KOI8-R"
LC_MESSAGES="ru_RU.KOI8-R"
LC_PAPER="ru_RU.KOI8-R"
LC_NAME="ru_RU.KOI8-R"
LC_ADDRESS="ru_RU.KOI8-R"
LC_TELEPHONE="ru_RU.KOI8-R"
LC_MEASUREMENT="ru_RU.KOI8-R"
LC_IDENTIFICATION="ru_RU.KOI8-R"
LC_ALL=
$ ./a.out
abc абв
0x61: printable
0x62: printable
0x63: printable
0x20: printable
0xc1: printable
0xc2: printable
0xd7: printable
0x0a: unprintable
$ LC_ALL=C ./a.out
abc абв
0x61: printable
0x62: printable
0x63: printable
0x20: printable
0xc1: unprintable
0xc2: unprintable
0xd7: unprintable
0x0a: unprintable
Возможно, проблема в том, что при обработке обычной строки
(массива char) параметры isxxxx() нужно преобразовывать к типу
unsigned char - иначе получаются отрицательные значения, которые
действительно не обрабатываются. isxxxx() обрабатывает коды от
0x00 до 0xFF, а также EOF (-1); кстати, tolower() и toupper()
ведут себя точно так же.
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2001-09-29 19:18 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-09-27 11:02 [mdk-re] Вопрос по локали Serge Ivanoff
2001-09-28 1:33 ` Roman S
2001-09-28 9:52 ` [mdk-re] " Serge Ivanoff
2001-09-28 21:22 ` [mdk-re] " Mikhail Zabaluev
2001-09-28 22:23 ` Roman S
2001-09-28 22:37 ` Aleksey Novodvorsky
2001-09-28 23:09 ` Roman S
2001-09-29 12:47 ` Sergey Vlasov
2001-09-29 19:18 ` Roman S
2001-09-28 17:53 ` [mdk-re] " Sergey Vlasov
ALT Linux Community general discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
public-inbox-index community
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.community
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git