The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Samba, FreeBSD и проблемы с кодировками"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Samba, FreeBSD и проблемы с кодировками"
Сообщение от Bushi emailИскать по авторуВ закладки on 31-Окт-03, 08:43  (MSK)
Столкнулся с не совсем тривиальной проблемой при использовании Samba 3.0 на FreeBSD. Используется локаль KOI8-R, кусок smb.conf:

dos charset = CP866
unix charset = KOI8-R

Проблема состоит в том, что в кодировке KOI8-R нет символа номера, при сохранении файла с машины windows портится его имя, если в имени встречается такой символ и из-за этого профиль даже может не загрузиться.
Какие могут быть варианты решения проблемы?
- переход на utf?
- редактирование исходников libiconv для замены символа например на N?

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

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Samba, FreeBSD и проблемы с кодировками"
Сообщение от Paul emailИскать по авторуВ закладки on 31-Окт-03, 09:02  (MSK)
Вероятнее всего, переход на юникод (utf-8) спасет отца русской демократии. В этом случае надо поправить конфиг Samba.

Второй вариант, в принципе, тоже прокатит, но это экстрим. libiconv пересобирать надо будет.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Samba, FreeBSD и проблемы с кодировками"
Сообщение от Bushi emailИскать по авторуВ закладки on 31-Окт-03, 10:25  (MSK)
Попробовал такой патч к libiconv

--- koi8_r.h.old 2003-09-02 17:54:31.838244000 +0400
+++ koi8_r.h 2003-09-07 13:56:31.498907000 +0400
@@ -139,6 +139,8 @@
c = koi8_r_page00[wc-0x00a0];
else if (wc >= 0x0400 && wc < 0x0458)
c = koi8_r_page04[wc-0x0400];
+ else if (wc == 0x2116)
+ c = 0x23;
else if (wc >= 0x2218 && wc < 0x2268)
c = koi8_r_page22[wc-0x2218];
else if (wc >= 0x2320 && wc < 0x2328)

после пересборки libiconv и samba символ номера заменяется на #.

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру