Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Посоветуйте, плз, по UTF локали [solved]
View unanswered posts
View posts from last 24 hours

Goto page 1, 2  Next  
Reply to topic    Gentoo Forums Forum Index Russian
View previous topic :: View next topic  
Author Message
dish
Apprentice
Apprentice


Joined: 19 Dec 2004
Posts: 266
Location: Moscow, Russia

PostPosted: Mon May 30, 2005 3:47 pm    Post subject: Посоветуйте, плз, по UTF локали [solve Reply with quote

юзаю p2p-клиенты: xMule, valknut. Не работает поиск файлов с русскими именами :(
Сейчас локаль koi8.

Вопрос: переход на юникодовую локаль поможет? И будет ли машина после этого нормально работать с виндовыми шарами?

Заранее спасибо!
_________________
Contrary to popular belief, UNIX is user-friendly. It just happens to be very selective about who it decides to make friends with. A. Haiut.


Last edited by dish on Thu Jun 02, 2005 2:28 pm; edited 1 time in total
Back to top
View user's profile Send private message
EdiG
n00b
n00b


Joined: 05 Apr 2005
Posts: 62
Location: Russia/Moscow

PostPosted: Mon May 30, 2005 4:00 pm    Post subject: Reply with quote

незнаю на счет xMule, valknut но
mldonkey через веб работает нормально с любой локалью
Back to top
View user's profile Send private message
sa10
Apprentice
Apprentice


Joined: 20 Jan 2005
Posts: 251
Location: Minsk

PostPosted: Mon May 30, 2005 4:40 pm    Post subject: Re: Посоветуйте, плз, по UTF локали Reply with quote

dish wrote:
переход на юникодовую локаль поможет?

Если система будет более корректно настроена на UTF8, то поможет.
Но все, что может юникод, это отображение существенно большего количества символов, можно сразу писать на китайском, грузинском и русском.
Если Вы поставите локаль в юникод, то не следует ожидать, что кои8 или 1251 станет видна без дополнительных телодвижений.
Для этого система выполняет необходимые преобразования, а правила преобразования к системной локали описываются например в /etc/fstab (для монтируемых файловых систем), в /etc/samba/smb.conf для просмотра виндовых сеток и т.п.
Back to top
View user's profile Send private message
dish
Apprentice
Apprentice


Joined: 19 Dec 2004
Posts: 266
Location: Moscow, Russia

PostPosted: Mon May 30, 2005 5:50 pm    Post subject: Reply with quote

Спасибо! Буду переходить.
_________________
Contrary to popular belief, UNIX is user-friendly. It just happens to be very selective about who it decides to make friends with. A. Haiut.
Back to top
View user's profile Send private message
Ernillew
n00b
n00b


Joined: 20 Apr 2005
Posts: 17

PostPosted: Mon May 30, 2005 6:23 pm    Post subject: Reply with quote

На самом деле переход на UTF-8 делается в несколько ударов по клаве :)
И получаешь щастие :)
_________________
"Я нолдо, я рожден в Эндорэ.
Я кано, мой Король -- Гил-Галад"
Back to top
View user's profile Send private message
YD
Guru
Guru


Joined: 30 Oct 2004
Posts: 466
Location: Riga, Latvia

PostPosted: Mon May 30, 2005 7:15 pm    Post subject: Reply with quote

Ernillew wrote:
На самом деле переход на UTF-8 делается в несколько ударов по клаве :)
И получаешь щастие :)
В идеале, но не на практике.
Back to top
View user's profile Send private message
hlroad
Tux's lil' helper
Tux's lil' helper


Joined: 28 Sep 2004
Posts: 105

PostPosted: Mon May 30, 2005 8:28 pm    Post subject: Reply with quote

YD wrote:
Ernillew wrote:
На самом деле переход на UTF-8 делается в несколько ударов по клаве :)
И получаешь щастие :)
В идеале, но не на практике.

И на практике тоже. По крайней мере с последними версиями пакетов.
Back to top
View user's profile Send private message
YD
Guru
Guru


Joined: 30 Oct 2004
Posts: 466
Location: Riga, Latvia

PostPosted: Mon May 30, 2005 8:44 pm    Post subject: Reply with quote

Если ты имеешь ввиду ~x86, то да. Но некоторые, хотя с виду работают правильно, на самом деле могут порой выдавать глюки, как неправильная длина строки. Бывает куча багов, которые просто не замечают или не думают, что трабла в wchar. Например если открыть код многих программ (особенно с истоками в 90ых), в большом количестве случяев авторы не используют свои typedef, а используют стандартные типы данных, что очень неудобно при модификации.
Back to top
View user's profile Send private message
viy
Veteran
Veteran


Joined: 03 Jul 2004
Posts: 1580
Location: Riga, Latvia

PostPosted: Mon May 30, 2005 8:53 pm    Post subject: Reply with quote

Использование стандартных типов данных (для данной платформы) предпочтительней при условии, что данный тип работает корректно. typedef (а чаще #define'ы в связке с configure) используются как раз для "вынесения за скобки" операций над подобными типами.

В любом случае --- это вопрос поддержки софта в соответствии со стандартами.
Back to top
View user's profile Send private message
dish
Apprentice
Apprentice


Joined: 19 Dec 2004
Posts: 266
Location: Moscow, Russia

PostPosted: Tue May 31, 2005 4:00 pm    Post subject: Reply with quote

Перешел на Юникод. Пользовал это и это руководства.

Получил щастие в виде неработаеющего vim и nano :(
А mc вообще корячит не по-детски....

Также ввод русского в терминале и консоли оставляет желать лучшего:
в терминале приходится два раза нажимать на клавишу, чтобы отобразилось правильно. Видимо, Eterm не умеет работать с многобайтовыми шрифтами

в screen все замечательно без дополнительных опций, только mc все равно не работает.

В консоли вообще черти что, козяблы какие-то......

Собственно, вопрос: а что делать с CONSOLETRANSLATION? И в нем ли дело?
Как-то я там этот момент не нашел :(
_________________
Contrary to popular belief, UNIX is user-friendly. It just happens to be very selective about who it decides to make friends with. A. Haiut.
Back to top
View user's profile Send private message
Balancer
Guru
Guru


Joined: 04 Jun 2004
Posts: 465

PostPosted: Tue May 31, 2005 4:16 pm    Post subject: Reply with quote

dish wrote:
Получил щастие в виде неработаеющего vim и nano :(
А mc вообще корячит не по-детски....


USE-флаги, надеюсь, все из первой ссылки прописал?

А что потом
Code:
emerge -puvD --newuse world
говорит?

Ну и, наконец, в CONSOLETRANSLATION ничего прописывать не нужно. Под терминалкой оно сразу работать будет, а для работы консоли нужно патчить /etc/init.d/consolefont как сказано в http://dev.gentoo.org/~sergey/unicode-guide.html Внимание! Патчить _только_ consolefont. Всё остальное сейчас итак работает.
Code:

--- /etc/init.d/consolefont.orig2004-06-27 19:22:42.000000000 +0300
+++ /etc/init.d/consolefont2004-06-27 19:49:31.000000000 +0300
@@ -65,15 +65,21 @@
 
 if [ "${retval}" -eq 0 ]
 then
+loc_switch="\033(K"
+if [ -n "${UTF8}" ] && [ "${UTF8}" == "yes" ]
+then
+loc_switch="\033%G"
+fi
+
 for x in $(seq 1 "${RC_TTY_NUMBER}")
 do
 # Using DEVFS ?
 if [ -e /dev/.devfsd ] || \
    [ -e /dev/.udev -a -d /dev/vc ]
 then
-echo -ne "\033(K" >/dev/vc/${x}
+echo -ne ${loc_switch} >/dev/vc/${x}
 else
-echo -ne "\033(K" >/dev/tty${x}
+echo -ne ${loc_switch} >/dev/tty${x}
 fi
 done
 fi
Back to top
View user's profile Send private message
dish
Apprentice
Apprentice


Joined: 19 Dec 2004
Posts: 266
Location: Moscow, Russia

PostPosted: Tue May 31, 2005 4:45 pm    Post subject: Reply with quote

Флаги все добавил.

emerge -uDpv --newuse world

Code:
[ebuild     UD] app-pda/synce-serial-0.7 [0.9.0] 0 kB
[ebuild     UD] app-pda/synce-libsynce-0.8.9 [0.9.0] 0 kB
[ebuild     UD] app-pda/synce-dccm-0.7 [0.9.0] 0 kB
[ebuild   R   ] media-libs/xine-lib-1.0-r2  +X -aac -aalib +alsa (-altivec) +arts -cle266 -debug -directfb +dvd -dxr3 +esd -fbcon -ffmpeg -flac +gnome +i8x0 +ipv6 -libcaca -mng +nls -nvidia +opengl +oss +png +samba +sdl +speex* -theora -v4l -vidix +vorbis -win32codecs +xinerama +xv -xvmc 7,219 kB
[ebuild   R   ] media-libs/sdl-sound-1.0.1-r1  -flac +mikmod +oggvorbis -physfs +speex* 995 kB
[ebuild     UD] app-arch/unshield-0.2 [0.4] 0 kB
[ebuild   R   ] media-sound/vorbis-tools-1.0.1  -debug -flac +nls +speex* 700 kB
[ebuild   R   ] kde-base/kdemultimedia-3.3.2  +alsa +arts -audiofile -cdparanoia -debug +encode -flac -kdeenablefinal +oggvorbis +speex* +xine +xinerama 5,258 kB
[ebuild     UD] app-pda/synce-librapi2-0.8.9 [0.9.0] 0 kB
[ebuild     UD] app-pda/synce-gnomevfs-0.2 [0.9.0] 0 kB


Создал файл baselayout_utf.patch и вставил в него твой патч.
# patch -p0 < baselayout_utf.patch:

Code:
can't find file to patch at input line 3
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- /etc/init.d/consolefont.orig2004-06-27 19:22:42.000000000 +0300
|+++ /etc/init.d/consolefont2004-06-27 19:49:31.000000000 +0300
--------------------------
File to patch:


Я ему пытался руками указать /etc/init.d/consolefont, а он в ответ:

Code:
File to patch: /etc/init.d/consolefont
patching file /etc/init.d/consolefont
Hunk #1 FAILED at 65.
1 out of 1 hunk FAILED -- saving rejects to file /etc/init.d/consolefont.rej


Содержимое файла /etc/init.d/consolefont.rej:

Code:
***************
*** 65,79 ****
 
  if [ "${retval}" -eq 0 ]
  then
  for x in $(seq 1 "${RC_TTY_NUMBER}")
  do
  # Using DEVFS ?
  if [ -e /dev/.devfsd ] || \
     [ -e /dev/.udev -a -d /dev/vc ]
  then
- echo -ne "\033(K" >/dev/vc/${x}
  else
- echo -ne "\033(K" >/dev/tty${x}
  fi
  done
  fi
--- 65,85 ----
 
  if [ "${retval}" -eq 0 ]
  then
+ loc_switch="\033(K"
+ if [ -n "${UTF8}" ] && [ "${UTF8}" == "yes" ]
+ then
+ loc_switch="\033%G"
+ fi
+
  for x in $(seq 1 "${RC_TTY_NUMBER}")
  do
  # Using DEVFS ?
  if [ -e /dev/.devfsd ] || \
     [ -e /dev/.udev -a -d /dev/vc ]
  then
+ echo -ne ${loc_switch} >/dev/vc/${x}
  else
+ echo -ne ${loc_switch} >/dev/tty${x}
  fi
  done
  fi


Все как было, так и осталось :(
_________________
Contrary to popular belief, UNIX is user-friendly. It just happens to be very selective about who it decides to make friends with. A. Haiut.
Back to top
View user's profile Send private message
viy
Veteran
Veteran


Joined: 03 Jul 2004
Posts: 1580
Location: Riga, Latvia

PostPosted: Tue May 31, 2005 5:28 pm    Post subject: Reply with quote

vim сломался? он очень адекватно реагирует на локалку, попробуй запустить его LANG=ru_RU.UTF-8 vim ....
Back to top
View user's profile Send private message
dish
Apprentice
Apprentice


Joined: 19 Dec 2004
Posts: 266
Location: Moscow, Russia

PostPosted: Tue May 31, 2005 5:38 pm    Post subject: Reply with quote

Тут, наверное, не видно, а у меня на экране козяблы :(

Code:
VIM ::: Vi IMproved ( Vi) :::                                                                       
~                                 6.3.68                           
~                                       
~         Vim                                               
~                          :help iccf<Enter>                                                               
~         :q<Enter>                   :help<Enter>  <F1>      :help version6<Enter>                                                                   


В доках тоже написано, что с ним проблем нет....
Видимо, где-то я накосячил, а где не могу понять....
Уже все перечитал и перепроверил.

Эту тоже прочитал...

В Иксах при этом все нормально. Только с консольными проблемы....

Хм..... Чего-то я недопонял. В терминале под рутом все нормально, а под юзером никак...
В консоли что так, что так закорючки...
_________________
Contrary to popular belief, UNIX is user-friendly. It just happens to be very selective about who it decides to make friends with. A. Haiut.
Back to top
View user's profile Send private message
viy
Veteran
Veteran


Joined: 03 Jul 2004
Posts: 1580
Location: Riga, Latvia

PostPosted: Tue May 31, 2005 5:49 pm    Post subject: Reply with quote

Ммм... Я бы пересобрал ncurses с флагом unicode, а затем и vim.
Back to top
View user's profile Send private message
dish
Apprentice
Apprentice


Joined: 19 Dec 2004
Posts: 266
Location: Moscow, Russia

PostPosted: Tue May 31, 2005 7:28 pm    Post subject: Reply with quote

Я перед всеми манипуляциями с конфигами делал emerge -uD --newuse world

emerge -pv ncurses

Code:
Calculating dependencies ...done!
[ebuild   R   ] sys-libs/ncurses-5.4-r6  -bootstrap -build -debug -doc +gpm -minimal -nocxx +unicode 2,103 kB


emerge -pv vim

Code:
Calculating dependencies ...done!
[ebuild   R   ] app-editors/vim-6.3.068  -acl -bash-completion -cscope -debug +gpm -minimal +ncurses +nls +perl +python -ruby (-selinux) -vim-with-x 0 kB


делал revdep-rebuild, он ругается только на какую-то scilib....

Все равно попробую пересобрать, вдруг поможет.
_________________
Contrary to popular belief, UNIX is user-friendly. It just happens to be very selective about who it decides to make friends with. A. Haiut.
Back to top
View user's profile Send private message
viy
Veteran
Veteran


Joined: 03 Jul 2004
Posts: 1580
Location: Riga, Latvia

PostPosted: Tue May 31, 2005 7:56 pm    Post subject: Reply with quote

Уточним --- в Хах тот же vim работает?
Т.е. проблема только в консоли?

Тогда:
* надо ставить terminus-font;
* патчить consolefont (это можно сделать и руками, формат diff'ов простой --- добавь строки с "+" и удали с "-");
* прописывать в /etc/rc.conf
KEYMAP="-u ru1" #или что там...
CONSOLEFONT="ter-k16n" #тоже на любителя
UNICODE="yes"

Должно помочь.
Back to top
View user's profile Send private message
YD
Guru
Guru


Joined: 30 Oct 2004
Posts: 466
Location: Riga, Latvia

PostPosted: Tue May 31, 2005 7:58 pm    Post subject: Reply with quote

viy wrote:
Использование стандартных типов данных (для данной платформы) предпочтительней при условии, что данный тип работает корректно. typedef (а чаще #define'ы в связке с configure) используются как раз для "вынесения за скобки" операций над подобными типами.

В любом случае --- это вопрос поддержки софта в соответствии со стандартами.

А чем typedef противоречит стандартам? (: Очень всё глямурно. Например меня часто упрекают в их использовании "лишних констант" и typedef, зато мне не надо никогда коверкать код чтобы в корне поменять его условия работы. Если говорить конкретно об ООП в C++, то там typedef/define не нужен, vtables делают своё дело, но разумеется со своим overhead. Стандартный тип данных не признаю ни в каком месте кроме локальных на подобии счётчика-итератора и как базовые для формирования своих типов. Стандартные типы хороши для кода в 100 строчек, но не для большого проекта.
Back to top
View user's profile Send private message
viy
Veteran
Veteran


Joined: 03 Jul 2004
Posts: 1580
Location: Riga, Latvia

PostPosted: Tue May 31, 2005 8:15 pm    Post subject: Reply with quote

Думаю, что мы говорим об одном и том же в плане typedef'ов. Не важно, что скрывает typedef.
Надо стараться использовать то, что стандартизовано (тот же wchar тип). И typedef в этом помогает, особенно если стандартная реализация хромает и требуются надстройки.

Я работаю больше в с. Для OO в последнее время python использую.
Back to top
View user's profile Send private message
dish
Apprentice
Apprentice


Joined: 19 Dec 2004
Posts: 266
Location: Moscow, Russia

PostPosted: Wed Jun 01, 2005 12:21 pm    Post subject: Reply with quote

Да, gvim нормально работает.

viy wrote:
* надо ставить terminus-font;
* патчить consolefont (это можно сделать и руками, формат diff'ов простой --- добавь строки с "+" и удали с "-");
* прописывать в /etc/rc.conf
KEYMAP="-u ru1" #или что там...
CONSOLEFONT="ter-k16n" #тоже на любителя
UNICODE="yes"


Все стоит уже. Видимо, патч криво встал...

Пропатчу руками.

Кстати, документ Сергея Кулешова устаревший.

Он рекомендует делать по тому, который в Wiki.
_________________
Contrary to popular belief, UNIX is user-friendly. It just happens to be very selective about who it decides to make friends with. A. Haiut.
Back to top
View user's profile Send private message
dish
Apprentice
Apprentice


Joined: 19 Dec 2004
Posts: 266
Location: Moscow, Russia

PostPosted: Thu Jun 02, 2005 2:28 pm    Post subject: Reply with quote

Локаль в итоге встала, но:

возникли некоторые траблы с qt-шными приложениями :(

Пришлось откатиться назад на koi8 :(

xmule и valknut все равно не заработали с русским поиском :(

Спасибо всем!!!
_________________
Contrary to popular belief, UNIX is user-friendly. It just happens to be very selective about who it decides to make friends with. A. Haiut.
Back to top
View user's profile Send private message
kon
Apprentice
Apprentice


Joined: 05 Mar 2004
Posts: 156
Location: Russia. Saint-Petersburg

PostPosted: Fri Jun 03, 2005 6:16 am    Post subject: Reply with quote

Тыры пыры, быстрые какие все.
Работает поиск русских файлов в aMule.
www.assi.ru/screen.png

Так что, может быть, проблема в 2Р2 клиентах, которые Вы используете.
Локаль, естественно, ru_RU.UTF-8

Опять же интересно с какими QT приложениями траблы?
Back to top
View user's profile Send private message
dish
Apprentice
Apprentice


Joined: 19 Dec 2004
Posts: 266
Location: Moscow, Russia

PostPosted: Sat Jun 04, 2005 9:29 pm    Post subject: Reply with quote

aMule это хорошо, только он у меня вылетает при создании хешей для 40 гигов мп3 :(
А для DC я вообще никаких других, кроме valknut, не знаю.

Проблемы с КуТе не злостные, krusader, korganizer, и т.п. Лекарство нашел, но пока времени нет (со шрифтами и кодировками надо играть). :(
Сдам сессию и тогда полностью перейду на UTF-8.

Позвольте спросить: а в чем приимущества UTF8-локали перед KOI8-локалью?
_________________
Contrary to popular belief, UNIX is user-friendly. It just happens to be very selective about who it decides to make friends with. A. Haiut.
Back to top
View user's profile Send private message
viy
Veteran
Veteran


Joined: 03 Jul 2004
Posts: 1580
Location: Riga, Latvia

PostPosted: Sun Jun 05, 2005 3:06 pm    Post subject: Reply with quote

Для 2-х языков преимуществ почти нет, если брать только тебя. С другой стороны, данные в utf-8 увидят все без гемоороя с перекодировками и сменой локали (если у "всех" тоже utf-8 ;))

Если же надо пользоваться 3-мя и более языками сразу (один из них Английский), то других вариантов и нет.
Back to top
View user's profile Send private message
dish
Apprentice
Apprentice


Joined: 19 Dec 2004
Posts: 266
Location: Moscow, Russia

PostPosted: Sun Jun 05, 2005 3:36 pm    Post subject: Reply with quote

Спасибо!
_________________
Contrary to popular belief, UNIX is user-friendly. It just happens to be very selective about who it decides to make friends with. A. Haiut.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Russian All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum