Страница 1 из 1

Русская кодировка во фре 5.5 и 6.1 - странности.

Добавлено: 2007-02-16 17:05:38
texman
Есть самбовый PDC на фряхе 5.5, самба2 и есть самбовый PDC на фряхе 6.1, самба3.

Проблема в следующем:

в первом случае залогиниваясь локально я могу видеть нормальные русские названия папок и файлов на самбовых ресурсах и в перемещаемых профилях.

во втором случае я вижу крякозябли.

Языковые настройки в обоих конфигурация ИДЕНТИЧНЫ :shock:

Куда копать?

Re: Русская кодировка во фре 5.5 и 6.1 - странности.

Добавлено: 2007-02-16 18:00:27
Vadim
texman писал(а): Куда копать?
Куда, куда. В smb.conf, конечно. Наверно, значение переменной "character set" по умолчанию сменилось от версии к версии. Пропиши либо KOI8-R, либо виндовую кодировку в обоих, чтоб не по фиг знает какому дефолту, а как тебе точно надо. Рекомендую в соотвествтии с локалью на твоей машине, чаще всего - koi8. Тогда русские имена файлов будут видны и самбовым клиентам и из шелла.

Добавлено: 2007-02-19 10:48:47
texman
Ну все так и сделано, локаль сервака и чарсет в самбе один и тот же KOI8-R, я ж и написал - странности какие-то...

Добавлено: 2007-02-19 11:09:39
Vadim
texman писал(а):Ну все так и сделано, локаль сервака и чарсет в самбе один и тот же KOI8-R, я ж и написал - странности какие-то...
А про переменную "client code page" не забыл? А, раз уж странности, как монтируются файловые ситемы, на которых самбовые файлы лежат?

А если из шелла создать файл с русским имененм, как видится из самбы? Из какой в какую кодировку кракозяблы - koi->win, win->koi, koi->dos ... ?

Добавлено: 2007-02-19 11:25:34
texman
client code page = 866

А что имеено в монтировании интересует? Просто смонтированы в fstab, без указания кодировок....

Добавлено: 2007-02-19 11:40:05
Vadim
texman писал(а):client code page = 866

А что имеено в монтировании интересует? Просто смонтированы в fstab, без указания кодировок....
Когда сталкиваешься с непонятной проблемой, когда не знаешь даже, куда копать, неплохо сгенерить как можно больше предположений, пусть даже на первый взгляд бредовых. Файловые системы - ufs? Да, а локаль в системе какая? По статье с этого сайта 1251 вместо привычной koi8 случаем не поставил на шестёрку?

Добавлено: 2007-02-28 16:24:08
texman
Все решил. Можно убивать эту ветку.

Добавлено: 2007-02-28 16:38:45
Alex Keda
ну а как решил?
делись - чтоб народ на грабли не наступал...

Добавлено: 2007-02-28 16:55:58
texman
конфиг 3-ей самбы зменился несколько и теперь для правильного отображения кодировки самбовских ресурсов на самом серваке самбовом нужно прописывать параметр

unix charset = локаль сервера

иначе сервак отображает всякую фигню. Пришлось все инфу с ресурсов самбовых сливать, править конфиг и перезаливать по новой :-(

Добавлено: 2007-02-28 17:14:10
Vadim
texman писал(а):Пришлось все инфу с ресурсов самбовых сливать, править конфиг и перезаливать по новой :-(
Ы? А переименовать файлики? Я, когда открыл для себя эти параметры из smb.conf напряг нервы, и написал несложный скриптик, переименовывающий все файлы в имя, полученное из прежнего путём перекодировки.

Добавлено: 2007-02-28 17:27:06
Alex Keda
а ну ка поделись.
я тоже писал - ушёл в /dev/null
проблема в необходимости рекурсии...
а так - несложно...

Добавлено: 2007-02-28 17:39:05
texman
Извините,но я не понял что во что перекодировать Вы хотели?

Добавлено: 2007-02-28 19:17:19
Alex Keda
имя_в_кодировке_например_сp1251 --> имя_в_кодировке_например_koi8-r

Добавлено: 2007-03-01 8:00:21
Vadim
lissyara писал(а):а ну ка поделись.
я тоже писал - ушёл в /dev/null
Ну дык у меня тоже. Помнится в то время я как раз осваивал sed, так что сделал на нём. Но можно и любым другим способом.
Типа:

Код: Выделить всё

for i in `ls -1F | grep -v "/"`
do
j=`echo $i | xcode -a +w`
mv $i %j
done
проблема в необходимости рекурсии...
а так - несложно...
Ну, можно за два прохода - сначала переименовать только каталоги, потом пройтись по ним. А можно и в одном скрипте. Извечный вопрос оптимизации - что субъективно легче/удобнее - потратить время на скрипт, или потратить время на ручную работу. Часто написание более менее сложного скрипта не окупается - быстрее двадцать раз ручками запустить что-то попроще, тем более, если оно кроме этих двадцати раз и не понадобится никогда.

Например, я крайне редко использую find. А в данном случае он подойдёт гораздо лучше любых скриптов. Но мне лезть в ман, вспоминать, как там ему задавать что делать с каждым найденным файлом, было лениво. Если задача глобального переименования многа файлов с каталогами встанет передо мной, сделаю, конечно.

Добавлено: 2007-03-01 9:17:21
Alex Keda
ех...
у меня в итоге чуть сложней будет - проблема в чём - я пеерсел с винды на фрю, вторая машины была под фрёй, на ней файлопомойка (300G ~500 директорий; под поллимона файлов) она на диске лежала в 1251 - так повелось..
а щас надо в koi8-r...
могу конечно с пееркодировкой монтировать - но это тактически неверно - хочу и с консоли второй машины работать нормально.

Добавлено: 2007-03-01 9:51:33
Vadim
lissyara писал(а):ех...
у меня в итоге чуть сложней будет
Я ж говорю: find /mnt/garbage -exeс {} спасёт отца русской демократии. Ищет все файлы по указанному пути, и над каждым производит какое-то действие. Почему бы и не переименование?

Добавлено: 2007-03-01 10:03:35
Vadim
Vadim писал(а):
lissyara писал(а):ех...
у меня в итоге чуть сложней будет
Я ж говорю: find /mnt/garbage -exeс {} спасёт отца русской демократии. Ищет все файлы по указанному пути, и над каждым производит какое-то действие. Почему бы и не переименование?
Я тут подумал. Не всё так просто. С каталогами трабл. Придётся мудрить с распарсиванием абсолютного имени для вырезания имени после последнего слэша.

Добавлено: 2007-03-01 10:37:07
Alex Keda
хе допёрло :))
я тоже думал просто.
однако - в итоге у меня было 1k кода чтоли...

Добавлено: 2007-03-01 10:52:35
Vadim
lissyara писал(а):хе допёрло :))
я тоже думал просто.
однако - в итоге у меня было 1k кода чтоли...
Ну так у меня было не так много - я раз дцать ручками в каждом каталоге скриптик запустил.

А один Ка - это символов или строк? :)

Добавлено: 2007-03-01 11:15:53
Alex Keda
не. символов..

Добавлено: 2007-03-01 11:50:57
Vadim
lissyara писал(а):не. символов..
Ну. По моим прикидкам примерно так и может выйти, каким способом ни делай. Хошь на awk, хошь на sed, хошь find, кто ещё напридумывает, чем можно?