Bug 2657

Summary: Сообщения, отличные от ASCII, выводятся вопросами.
Product: Sisyphus Reporter: black <bh>
Component: fortune-modAssignee: kastet <kastet>
Status: CLOSED WONTFIX QA Contact:
Severity: minor    
Priority: P4 CC: kastet, lav
Version: unstable   
Hardware: all   
OS: Linux   

Description black 2003-06-11 06:44:57 MSD
Сообщения, отличные от ASCII, выводятся вопросами.
В предыдущей версии такого не было.
---

---
[<a href="mailto:black@black" target="_new">black@black</a> black]$ rpm -q fortune-mod
fortune-mod-1.0-ipl33mdk
[<a href="mailto:black@black" target="_new">black@black</a> black]$ fortune --version
fortune: invalid option -- -
fortune-mod version 9708
fortune [-afilosw] [-m pattern] [-n number] [ [#%] file/directory/all]
[<a href="mailto:black@black" target="_new">black@black</a> black]$ fortune ~/origin
... ? ????? ?? ?? ???? ??????????
[<a href="mailto:black@black" target="_new">black@black</a> black]$ LC_ALL=\&quot;ru_RU.KOI8-R\&quot; fortune ~/origin
... ?? ????, ????, ?????????
[<a href="mailto:black@black" target="_new">black@black</a> black]$ LC_ALL=C fortune ~/origin
... ???? ? ???????? - ??????? ?????.

Comment 1 Sir Raorn 2003-06-11 09:52:48 MSD
Ну это как бы не баг, а фича. fortune-mod &gt; 1.0-ipl33mdk думает что все файлы данных в кодировке UTF-8 и перед выводом на экран перекодирует в текущий CODESET.

Но наверно правильней будет сделать это конфигурабельным...
Comment 2 Sir Raorn 2003-06-11 09:52:48 MSD
Ну это как бы не баг, а фича. fortune-mod &gt; 1.0-ipl33mdk думает что все файлы данных в кодировке UTF-8 и перед выводом на экран перекодирует в текущий CODESET.

Но наверно правильней будет сделать это конфигурабельным...
Comment 3 Sir Raorn 2003-12-01 03:12:19 MSK
Надо подумать, как решить эту проблему красиво.
Comment 4 Vitaly Lipatov 2005-06-20 12:46:04 MSD
Не вижу проблемы. Файлы должны быть в UTF-8 и точка. 
Править тут в fortune нечего. 
Comment 5 Sir Raorn 2005-06-21 10:06:56 MSD
А проблема не в этом.  Кроме кодировки есть ещё такое понятия как "язык".  Мне
например будет немного неинтересно читать фортунки на украинском или белорусском
языке, потому как я их просто не знаю.  Должно быть что-то вроде:

/usr/share/games/fortune/
/usr/share/games/fortune/off/
/usr/share/games/fortune/ru/
/usr/share/games/fortune/ru/off/
/usr/share/games/fortune/uk/
/usr/share/games/fortune/uk/off/

и так далее.  И выбирать нужные каталоги в зависимости от LC_MESSAGES или опции
специального вида.  Как портабельно вышеплять язык из локали я не знаю, SUSv3
никак не ограничивает формат имени.
Comment 6 Vitaly Lipatov 2005-06-21 22:43:11 MSD
Как это? Язык всегда до первого подчёркивания (или конца строки) 
ru в ru_RU 
Идея замечательная - внести зависимость от языка. Но если я всё же хочу читать 
и белорусские тоже? 
 
И как минимум всё равно надо отделить данные от программы и не таскать 
английский за собой. Потому что планы - ещё совсем не скоро. 
 
  
Comment 7 Sir Raorn 2005-06-22 09:19:55 MSD
(In reply to comment #6)
> Как это? Язык всегда до первого подчёркивания (или конца строки) 
> ru в ru_RU
А нету по стандарту никакого подчёркивания.  Название локали может быть
произвольным, главное чтобы libc это поддерживала.  Наверно таки сделаю по
первым двум буквам.

> Идея замечательная - внести зависимость от языка. Но если я всё же хочу читать 
> и белорусские тоже?
$LANGUAGE или ещё какая пересенная специального вида типа $FORTUNE_LANG или
опция специального вида.
Comment 8 Vitaly Lipatov 2005-06-23 01:47:38 MSD
(In reply to comment #7) 
> А нету по стандарту никакого подчёркивания.  Название локали может быть 
> произвольным, главное чтобы libc это поддерживала.  Наверно таки сделаю по 
> первым двум буквам. 
Да, тем более что других вариантов мне, например, не встречалось. 
По поводу локали я придерживаюсь такого формата: 
 * locale in form language[_territory][.charset][@modifier} 
 * where language is an ISO 639 language code, territory 
 * is an ISO 3166 country code, and codeset is a character set or encoding 
 * identifier like ISO-8859-1 or UTF-8 
 
> $LANGUAGE или ещё какая пересенная специального вида типа $FORTUNE_LANG или 
Мне кажется, LANGUAGE вполне подойдёт для начала. 
 
 
Comment 9 Mikhail Gusarov 2008-02-15 22:48:03 MSK
Как дела с фортунками по языкам? :)
Comment 10 Sir Raorn 2008-04-25 18:14:36 MSD
Никак.  В этой помойке копаться просто противно.