| View previous topic :: View next topic |
| Author |
Message |
dish Apprentice


Joined: 19 Dec 2004 Posts: 266 Location: Moscow, Russia
|
Posted: Mon May 30, 2005 10:47 am Post subject: Посоветуйте, плз, по UTF локали [solve |
|
|
юзаю 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 9:28 am; edited 1 time in total |
|
| Back to top |
|
 |
EdiG n00b

Joined: 04 Apr 2005 Posts: 62 Location: Russia/Moscow
|
Posted: Mon May 30, 2005 11:00 am Post subject: |
|
|
незнаю на счет xMule, valknut но
mldonkey через веб работает нормально с любой локалью |
|
| Back to top |
|
 |
sa10 Apprentice

Joined: 20 Jan 2005 Posts: 251 Location: Minsk
|
Posted: Mon May 30, 2005 11:40 am Post subject: Re: Посоветуйте, плз, по UTF локали |
|
|
| dish wrote: | | переход на юникодовую локаль поможет? |
Если система будет более корректно настроена на UTF8, то поможет.
Но все, что может юникод, это отображение существенно большего количества символов, можно сразу писать на китайском, грузинском и русском.
Если Вы поставите локаль в юникод, то не следует ожидать, что кои8 или 1251 станет видна без дополнительных телодвижений.
Для этого система выполняет необходимые преобразования, а правила преобразования к системной локали описываются например в /etc/fstab (для монтируемых файловых систем), в /etc/samba/smb.conf для просмотра виндовых сеток и т.п. |
|
| Back to top |
|
 |
dish Apprentice


Joined: 19 Dec 2004 Posts: 266 Location: Moscow, Russia
|
Posted: Mon May 30, 2005 12:50 pm Post subject: |
|
|
Спасибо! Буду переходить. _________________ 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 |
|
 |
Ernillew n00b

Joined: 19 Apr 2005 Posts: 17
|
Posted: Mon May 30, 2005 1:23 pm Post subject: |
|
|
На самом деле переход на UTF-8 делается в несколько ударов по клаве
И получаешь щастие  _________________ "Я нолдо, я рожден в Эндорэ.
Я кано, мой Король -- Гил-Галад" |
|
| Back to top |
|
 |
YD Guru


Joined: 30 Oct 2004 Posts: 466 Location: Riga, Latvia
|
Posted: Mon May 30, 2005 2:15 pm Post subject: |
|
|
| Ernillew wrote: | На самом деле переход на UTF-8 делается в несколько ударов по клаве
И получаешь щастие  | В идеале, но не на практике. |
|
| Back to top |
|
 |
hlroad Tux's lil' helper

Joined: 28 Sep 2004 Posts: 105
|
Posted: Mon May 30, 2005 3:28 pm Post subject: |
|
|
| YD wrote: | | Ernillew wrote: | На самом деле переход на UTF-8 делается в несколько ударов по клаве
И получаешь щастие  | В идеале, но не на практике. |
И на практике тоже. По крайней мере с последними версиями пакетов. |
|
| Back to top |
|
 |
YD Guru


Joined: 30 Oct 2004 Posts: 466 Location: Riga, Latvia
|
Posted: Mon May 30, 2005 3:44 pm Post subject: |
|
|
| Если ты имеешь ввиду ~x86, то да. Но некоторые, хотя с виду работают правильно, на самом деле могут порой выдавать глюки, как неправильная длина строки. Бывает куча багов, которые просто не замечают или не думают, что трабла в wchar. Например если открыть код многих программ (особенно с истоками в 90ых), в большом количестве случяев авторы не используют свои typedef, а используют стандартные типы данных, что очень неудобно при модификации. |
|
| Back to top |
|
 |
viy Veteran

Joined: 03 Jul 2004 Posts: 1580 Location: Riga, Latvia
|
Posted: Mon May 30, 2005 3:53 pm Post subject: |
|
|
Использование стандартных типов данных (для данной платформы) предпочтительней при условии, что данный тип работает корректно. typedef (а чаще #define'ы в связке с configure) используются как раз для "вынесения за скобки" операций над подобными типами.
В любом случае --- это вопрос поддержки софта в соответствии со стандартами. |
|
| Back to top |
|
 |
dish Apprentice


Joined: 19 Dec 2004 Posts: 266 Location: Moscow, Russia
|
Posted: Tue May 31, 2005 11:00 am Post subject: |
|
|
Перешел на Юникод. Пользовал это и это руководства.
Получил щастие в виде неработаеющего 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 |
|
 |
Balancer Guru


Joined: 04 Jun 2004 Posts: 446
|
Posted: Tue May 31, 2005 11:16 am Post subject: |
|
|
| 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 |
|
 |
dish Apprentice


Joined: 19 Dec 2004 Posts: 266 Location: Moscow, Russia
|
Posted: Tue May 31, 2005 11:45 am Post subject: |
|
|
Флаги все добавил.
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 |
|
 |
viy Veteran

Joined: 03 Jul 2004 Posts: 1580 Location: Riga, Latvia
|
Posted: Tue May 31, 2005 12:28 pm Post subject: |
|
|
| vim сломался? он очень адекватно реагирует на локалку, попробуй запустить его LANG=ru_RU.UTF-8 vim .... |
|
| Back to top |
|
 |
dish Apprentice


Joined: 19 Dec 2004 Posts: 266 Location: Moscow, Russia
|
Posted: Tue May 31, 2005 12:38 pm Post subject: |
|
|
Тут, наверное, не видно, а у меня на экране козяблы
| 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 |
|
 |
viy Veteran

Joined: 03 Jul 2004 Posts: 1580 Location: Riga, Latvia
|
Posted: Tue May 31, 2005 12:49 pm Post subject: |
|
|
| Ммм... Я бы пересобрал ncurses с флагом unicode, а затем и vim. |
|
| Back to top |
|
 |
dish Apprentice


Joined: 19 Dec 2004 Posts: 266 Location: Moscow, Russia
|
Posted: Tue May 31, 2005 2:28 pm Post subject: |
|
|
Я перед всеми манипуляциями с конфигами делал 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 |
|
 |
viy Veteran

Joined: 03 Jul 2004 Posts: 1580 Location: Riga, Latvia
|
Posted: Tue May 31, 2005 2:56 pm Post subject: |
|
|
Уточним --- в Хах тот же vim работает?
Т.е. проблема только в консоли?
Тогда:
* надо ставить terminus-font;
* патчить consolefont (это можно сделать и руками, формат diff'ов простой --- добавь строки с "+" и удали с "-");
* прописывать в /etc/rc.conf
KEYMAP="-u ru1" #или что там...
CONSOLEFONT="ter-k16n" #тоже на любителя
UNICODE="yes"
Должно помочь. |
|
| Back to top |
|
 |
YD Guru


Joined: 30 Oct 2004 Posts: 466 Location: Riga, Latvia
|
Posted: Tue May 31, 2005 2:58 pm Post subject: |
|
|
| viy wrote: | Использование стандартных типов данных (для данной платформы) предпочтительней при условии, что данный тип работает корректно. typedef (а чаще #define'ы в связке с configure) используются как раз для "вынесения за скобки" операций над подобными типами.
В любом случае --- это вопрос поддержки софта в соответствии со стандартами. |
А чем typedef противоречит стандартам? (: Очень всё глямурно. Например меня часто упрекают в их использовании "лишних констант" и typedef, зато мне не надо никогда коверкать код чтобы в корне поменять его условия работы. Если говорить конкретно об ООП в C++, то там typedef/define не нужен, vtables делают своё дело, но разумеется со своим overhead. Стандартный тип данных не признаю ни в каком месте кроме локальных на подобии счётчика-итератора и как базовые для формирования своих типов. Стандартные типы хороши для кода в 100 строчек, но не для большого проекта. |
|
| Back to top |
|
 |
viy Veteran

Joined: 03 Jul 2004 Posts: 1580 Location: Riga, Latvia
|
Posted: Tue May 31, 2005 3:15 pm Post subject: |
|
|
Думаю, что мы говорим об одном и том же в плане typedef'ов. Не важно, что скрывает typedef.
Надо стараться использовать то, что стандартизовано (тот же wchar тип). И typedef в этом помогает, особенно если стандартная реализация хромает и требуются надстройки.
Я работаю больше в с. Для OO в последнее время python использую. |
|
| Back to top |
|
 |
dish Apprentice


Joined: 19 Dec 2004 Posts: 266 Location: Moscow, Russia
|
Posted: Wed Jun 01, 2005 7:21 am Post subject: |
|
|
Да, 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 |
|
 |
dish Apprentice


Joined: 19 Dec 2004 Posts: 266 Location: Moscow, Russia
|
Posted: Thu Jun 02, 2005 9:28 am Post subject: |
|
|
Локаль в итоге встала, но:
возникли некоторые траблы с 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 |
|
 |
kon Apprentice


Joined: 05 Mar 2004 Posts: 156 Location: Russia. Saint-Petersburg
|
Posted: Fri Jun 03, 2005 1:16 am Post subject: |
|
|
Тыры пыры, быстрые какие все.
Работает поиск русских файлов в aMule.
www.assi.ru/screen.png
Так что, может быть, проблема в 2Р2 клиентах, которые Вы используете.
Локаль, естественно, ru_RU.UTF-8
Опять же интересно с какими QT приложениями траблы? |
|
| Back to top |
|
 |
dish Apprentice


Joined: 19 Dec 2004 Posts: 266 Location: Moscow, Russia
|
Posted: Sat Jun 04, 2005 4:29 pm Post subject: |
|
|
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 |
|
 |
viy Veteran

Joined: 03 Jul 2004 Posts: 1580 Location: Riga, Latvia
|
Posted: Sun Jun 05, 2005 10:06 am Post subject: |
|
|
Для 2-х языков преимуществ почти нет, если брать только тебя. С другой стороны, данные в utf-8 увидят все без гемоороя с перекодировками и сменой локали (если у "всех" тоже utf-8 )
Если же надо пользоваться 3-мя и более языками сразу (один из них Английский), то других вариантов и нет. |
|
| Back to top |
|
 |
dish Apprentice


Joined: 19 Dec 2004 Posts: 266 Location: Moscow, Russia
|
Posted: Sun Jun 05, 2005 10:36 am Post subject: |
|
|
Спасибо! _________________ 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 |
|
 |
|