Осторожно, изврат. Фанатам Microsoft не читать во избежание "разрыва шаблона" :-)
Пытаюсь заставить работать самбовский smbclient (3.0.7) на Windows 7 (качал
здесь).
Первая проблема, с которой столкнулся - ругается что не может найти конфиг в /etc/гдеонтамнепомню. Решил пока установкой полноценного cygwin и запуска через его терминал (соответственно создав в надлежащем месте файл конфига), хотя говорят можно обойтись и без этого.
Вторая проблема, решение которой, собственно, ищется - вопрос кодировок. Если не писанит в конфиге ничего о кодировках, то вместо руских букв в названиях файлов на шарах, соответственно, каша.
А ежели написать хоть что-нибудь вместо листинга файлов валятся строки типа
init_iconv: Conversion from UCS-2LE to cp866 not supported
init_iconv: Attempting to replace with conversion from UCS-2LE to ASCII
init_iconv: Conversion from UTF8 to cp866 not supported
init_iconv: Attempting to replace with conversion from ASCII to ASCII
init_iconv: Conversion from ASCII to cp866 not supported
init_iconv: Attempting to replace with conversion from ASCII to ASCII
init_iconv: Conversion from cp866 to UCS-2LE not supported
init_iconv: Attempting to replace with conversion from ASCII to UCS-2LE
init_iconv: Conversion from cp866 to UTF8 not supported
init_iconv: Attempting to replace with conversion from ASCII to ASCII
init_iconv: Conversion from cp866 to ASCII not supported
init_iconv: Attempting to replace with conversion from ASCII to ASCII
init_iconv: Conversion from cp866 to UTF8 not supported
init_iconv: Attempting to replace with conversion from ASCII to ASCII
init_iconv: Conversion from UTF8 to cp866 not supported
init_iconv: Attempting to replace with conversion from ASCII to ASCII
И как бы я ни менял кодировки в конфиге (разные комбинации из вариаций на тему UTF8, utf-8, cp866, cp1251, cp1250, ASCII, ISO-8859-5 и т.п.) результат - только ругань типа приведённой выше.
Если же ничего такого не прописывать вообще ошибок нет, но имена файлов корявые и если скормить их
декодеру Лебедева - он успешно их расшифровывает (правда теряет первую букву) и пишет "7-bit ASCII → ISO-8859-5". locale charmap в консоли выдаёт UTF-8. Винда английская, в качестве ANSI-кодировки для не поддерживающих Unicode программ выбрана CP1250. В качестве сервера выступает Linux с Samba 3.6.6, на нормальных виндовых клиентах, соответственно, всё нормально.
Ещё интересный нюанс в том, что у нас на Samba-шарах лежат файлы не только английскими и русскими буквами в именах, но и с центральноевропейскими (ž, š и т.д., т.н. Latin2, в восьмибитных кодировках это DOS/ASCII CP852, Windows/ANSI CP1250, ISO 8859-2) т.е. нельзя однозначно выбрать одну DOS/Windows/ISO кодировку.
В Сети полно вопросов о "init_iconv: Conversion from ... to ... not supported" в контексте Samba, но ни одного реального решения найти не удалось.
Вопрос, соответственно, что писать в smb.conf в dos charset, unix charset, display charset и т.п. (или ещё где) чтобы это пофиксить.
UPDATE: Нащупал настройки, которые не дают ошибок, но тексты при них всё-равно кривые (хотя и по-другому): unix charset = UTF8, display charset = UCS-2LE.