|
|
|
И сноваКирелические символы в именах файлов на FreeBSD
|
|||
|---|---|---|---|
|
#18+
Знаю может показаться репостом, но секундочку внимания. Ситуация следующая: Есть вышеупомянутый FreeBSD на нем есть Samba. Пользователи (враги народа) в специальные папочки для передачи на филиалы выкладывают файлы (ну конечно же с русскими именами). Моя софтина должна эти файлы вычитать и передать. Проблема заключается в следующем так как файлы создаются под виндой да еще и с кириллическими символами JAVA имеет ряд проблем с чтением их имен. Посоветуйте как решить эту проблему (расстрел врагов народа не предлагать) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2013, 19:17:20 |
|
||
|
И сноваКирелические символы в именах файлов на FreeBSD
|
|||
|---|---|---|---|
|
#18+
А ты админ на FreeBSD/Samba? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2013, 19:20:12 |
|
||
|
И сноваКирелические символы в именах файлов на FreeBSD
|
|||
|---|---|---|---|
|
#18+
несовсем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2013, 19:39:11 |
|
||
|
И сноваКирелические символы в именах файлов на FreeBSD
|
|||
|---|---|---|---|
|
#18+
Интересно было-бы зайти в папку где Samba хранит файлы и дать команду ls с враппингом чтобы посмотреть факт того что русские буквы вообще сохранились. Собсно вопрос даже не по Java а скорее по настройкам кодовых страниц сервера или протоколов. Да и его можно-б в форум по Юниксу бросить. Там ответят быстрее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2013, 19:49:29 |
|
||
|
И сноваКирелические символы в именах файлов на FreeBSD
|
|||
|---|---|---|---|
|
#18+
maytonИнтересно было-бы зайти в папку где Samba хранит файлы и дать команду ls с враппингом чтобы посмотреть факт того что русские буквы вообще сохранились. Собсно вопрос даже не по Java а скорее по настройкам кодовых страниц сервера или протоколов. Да и его можно-б в форум по Юниксу бросить. Там ответят быстрее. Спасибо попробую. Но если кто сталкивался прошу не стеснятся ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2013, 20:04:28 |
|
||
|
И сноваКирелические символы в именах файлов на FreeBSD
|
|||
|---|---|---|---|
|
#18+
Покажите пример имени файла (как его прочитала java). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2013, 05:09:40 |
|
||
|
И сноваКирелические символы в именах файлов на FreeBSD
|
|||
|---|---|---|---|
|
#18+
avp.mkПокажите пример имени файла (как его прочитала java). обычно вместо кириллических символов "?" к примеру Тест.txt будит ????.txt соответственно такого файла найти не может.При этом имена файлов в терминале отображаются правильно. Пробовал выставить локаль UTF-8. Не помогло даже в терминале файлы принятые самбой начали отображаться кадратиками ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2013, 09:30:11 |
|
||
|
И сноваКирелические символы в именах файлов на FreeBSD
|
|||
|---|---|---|---|
|
#18+
-Dfile.encoding=UTF-8 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2013, 10:08:33 |
|
||
|
И сноваКирелические символы в именах файлов на FreeBSD
|
|||
|---|---|---|---|
|
#18+
Blazkowicz-Dfile.encoding=UTF-8 насколько я понял принцип работы я должен зпусти ть свой джар вот так ? java -Dfile.encoding=UTF-8 -jar ServerCopy.jar ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2013, 11:06:35 |
|
||
|
И сноваКирелические символы в именах файлов на FreeBSD
|
|||
|---|---|---|---|
|
#18+
apprentice-noviceBlazkowicz-Dfile.encoding=UTF-8 насколько я понял принцип работы я должен зпусти ть свой джар вот так ? java -Dfile.encoding=UTF-8 -jar ServerCopy.jar Да. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2013, 11:07:20 |
|
||
|
И сноваКирелические символы в именах файлов на FreeBSD
|
|||
|---|---|---|---|
|
#18+
Я полистал исходники JDK 1.6.0, там в конструкторах File, RandomAccessFile, FileInputStream вроде-бы нет зависимости от свойства "file.encoding". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2013, 13:49:15 |
|
||
|
И сноваКирелические символы в именах файлов на FreeBSD
|
|||
|---|---|---|---|
|
#18+
В каких ещё нафиг конструкторах?? Смотри UnixFileSystem_md.c io_util.h jni_util.c Там нашлось ещё другое свойство, по которому нагуглилось статья: http://happygiraffe.net/blog/2009/09/24/java-platform-encoding/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2013, 14:10:14 |
|
||
|
И сноваКирелические символы в именах файлов на FreeBSD
|
|||
|---|---|---|---|
|
#18+
Стоп-стоп. С чего это ты решил что автор запускает своё приложение на сервере? Я думаю что он ломитсья с такого-же виндозного клиента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2013, 14:48:21 |
|
||
|
И сноваКирелические символы в именах файлов на FreeBSD
|
|||
|---|---|---|---|
|
#18+
maytonСтоп-стоп. С чего это ты решил что автор запускает своё приложение на сервере? Я думаю что он ломитсья с такого-же виндозного клиента. Хрен его знает. Автор не объяснил нормально. Но вот из этого... apprentice-novice Проблема заключается в следующем так как файлы создаются под виндой да еще и с кириллическими символами JAVA имеет ряд проблем с чтением их имен. ...следует что виндоуз создаёт файлы, а Java их читает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2013, 15:00:39 |
|
||
|
И сноваКирелические символы в именах файлов на FreeBSD
|
|||
|---|---|---|---|
|
#18+
apprentice-novice, скажи пожалуйста ты доступаешся к файлам локально или через сеть (Samba/Cifs) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2013, 16:00:46 |
|
||
|
И сноваКирелические символы в именах файлов на FreeBSD
|
|||
|---|---|---|---|
|
#18+
maytonapprentice-novice, скажи пожалуйста ты доступаешся к файлам локально или через сеть (Samba/Cifs) ? Локально. Прога запускается на сервере. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2013, 16:38:12 |
|
||
|
И сноваКирелические символы в именах файлов на FreeBSD
|
|||
|---|---|---|---|
|
#18+
Blazkowicz-Dfile.encoding=UTF-8\ Попробовал перебрал все возможные кириллические кодировки всегда кириллические именна ??????.xls. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2013, 17:04:43 |
|
||
|
И сноваКирелические символы в именах файлов на FreeBSD
|
|||
|---|---|---|---|
|
#18+
apprentice-novicemaytonapprentice-novice, скажи пожалуйста ты доступаешся к файлам локально или через сеть (Samba/Cifs) ? Локально. Прога запускается на сервере. Попробуй 2 cases: 1) Создай (только средствами Java) на сервере файл "Текст.txt". Посмотри как выглядит имя со стороны консоли. 2) Создай такой же файл со стороны пользователя Samba сервера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2013, 17:06:42 |
|
||
|
И сноваКирелические символы в именах файлов на FreeBSD
|
|||
|---|---|---|---|
|
#18+
maytonapprentice-noviceпропущено... Локально. Прога запускается на сервере. Попробуй 2 cases: 1) Создай (только средствами Java) на сервере файл "Текст.txt". Посмотри как выглядит имя со стороны консоли. 2) Создай такой же файл со стороны пользователя Samba сервера. с консоли также ?????.txt ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2013, 17:18:59 |
|
||
|
И сноваКирелические символы в именах файлов на FreeBSD
|
|||
|---|---|---|---|
|
#18+
даже не обманул просто разные иероглифы. Но они разные ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2013, 17:33:52 |
|
||
|
И сноваКирелические символы в именах файлов на FreeBSD
|
|||
|---|---|---|---|
|
#18+
apprentice-noviceдаже не обманул просто разные иероглифы. Но они разные Уже теплее. Выкладывай сюда "иероглифы" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2013, 17:36:01 |
|
||
|
И сноваКирелические символы в именах файлов на FreeBSD
|
|||
|---|---|---|---|
|
#18+
А что значит "со стороны консоли"? Когда в терминале выполняете ls, там нормальные имена? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2013, 17:36:33 |
|
||
|
И сноваКирелические символы в именах файлов на FreeBSD
|
|||
|---|---|---|---|
|
#18+
проверил локаль на сервере стоит локаль UTF-8 запустил Putti с Utf-8 показало имя файла тест. Но виндовіе файлі так и идут знаками вопросов. Пробовал ставить Сp-1251 в Putti виндовые файлы без изменений ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2013, 17:39:53 |
|
||
|
И сноваКирелические символы в именах файлов на FreeBSD
|
|||
|---|---|---|---|
|
#18+
Код: java 1. 2. 3. 4. 5. BlazkowiczУже теплее. Выкладывай сюда "иероглифы" И исходные имена файлов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2013, 17:41:07 |
|
||
|
И сноваКирелические символы в именах файлов на FreeBSD
|
|||
|---|---|---|---|
|
#18+
avp.mk Код: java 1. 2. 3. 4. 5. BlazkowiczУже теплее. Выкладывай сюда "иероглифы" И исходные имена файлов. слова нормально выводит. А иероглифов нет если при запуске указывать UTF-8. есть только ???????.xls - но он создан в винде ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2013, 17:51:06 |
|
||
|
И сноваКирелические символы в именах файлов на FreeBSD
|
|||
|---|---|---|---|
|
#18+
ЛагманА что значит "со стороны консоли"? Когда в терминале выполняете ls, там нормальные имена? со стороны консоли все ????.txt и ??????.xls ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2013, 17:55:43 |
|
||
|
И сноваКирелические символы в именах файлов на FreeBSD
|
|||
|---|---|---|---|
|
#18+
извиняюсь консоль - хотел сказать терминал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2013, 17:58:02 |
|
||
|
И сноваКирелические символы в именах файлов на FreeBSD
|
|||
|---|---|---|---|
|
#18+
А если в терминале руками создать файл, то тоже вопросы? Если нет, то скорее всего имена портятся ещё на этапе создания. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2013, 18:40:44 |
|
||
|
И сноваКирелические символы в именах файлов на FreeBSD
|
|||
|---|---|---|---|
|
#18+
Надо дёрнуть ls -LF с опцией ASCII-wrap. Я искал - хер поймешь как это включить. Вобщем если линуксоиды есть - подскажите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2013, 19:16:06 |
|
||
|
И сноваКирелические символы в именах файлов на FreeBSD
|
|||
|---|---|---|---|
|
#18+
Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Запостите что покажет. (и исходные имена!) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2013, 19:37:59 |
|
||
|
И сноваКирелические символы в именах файлов на FreeBSD
|
|||
|---|---|---|---|
|
#18+
avp.mk Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Запостите что покажет. (и исходные имена!) Выполнил русское имя файла "Тест.txt" созданное явой прочиталось - u0422ест.t'u0078t Имя файла с кириллическими символами созданные виндой � до расширения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2013, 09:56:12 |
|
||
|
И сноваКирелические символы в именах файлов на FreeBSD
|
|||
|---|---|---|---|
|
#18+
На этом тему можно закрывать. Java правильно читаеат имена файлов. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Имена файлов искажает Samba при при создании файлов на диске. Эту проблему можно решить и при помощи джавы (перекодируя имена файлов созданных самбой..) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2013, 13:04:47 |
|
||
|
И сноваКирелические символы в именах файлов на FreeBSD
|
|||
|---|---|---|---|
|
#18+
avp.mk Эту проблему можно решить и при помощи джавы (перекодируя имена файлов созданных самбой..) Отсюда поподробнее. Как перекодировать имена файлов если я получаю набор знаков вопросов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2013, 13:09:47 |
|
||
|
И сноваКирелические символы в именах файлов на FreeBSD
|
|||
|---|---|---|---|
|
#18+
apprentice-noviceavp.mkЭту проблему можно решить и при помощи джавы (перекодируя имена файлов созданных самбой..) Отсюда поподробнее. Как перекодировать имена файлов если я получаю набор знаков вопросов? Не надо ничего перекодировать. Это путь в никуда. Надо найти в самбе настройку которая отвечает за кодовую страницу и исправить это. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2013, 13:11:42 |
|
||
|
И сноваКирелические символы в именах файлов на FreeBSD
|
|||
|---|---|---|---|
|
#18+
maytonНе надо ничего перекодировать. Это путь в никуда. Надо найти в самбе настройку которая отвечает за кодовую страницу и исправить это. Какую кодировку посоветуете Cp1251 или KOI8_R или UTF ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2013, 13:16:22 |
|
||
|
И сноваКирелические символы в именах файлов на FreeBSD
|
|||
|---|---|---|---|
|
#18+
maytonНе надо ничего перекодировать. Это путь в никуда. Надо найти в самбе настройку которая отвечает за кодовую страницу и исправить это. А уже созданные файлы выкинуть? P.S. Конечно лучше по-человечески настроить самбу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2013, 13:30:46 |
|
||
|
И сноваКирелические символы в именах файлов на FreeBSD
|
|||
|---|---|---|---|
|
#18+
apprentice-novicemaytonНе надо ничего перекодировать. Это путь в никуда. Надо найти в самбе настройку которая отвечает за кодовую страницу и исправить это. Какую кодировку посоветуете Cp1251 или KOI8_R или UTF Давай так. Я уже дал совет что нужно вопрос перенести в форум по Unix. По сабжу скажу что Java работает со строками в Unicode. NTFS, UFS/ZFS скорее всего тоже хранят имена файлов в многобайтных и международных кодировках. Дефект скорее всего в настроках сервера. Где именно эта настройка я не знаю т.к. не специалист в этих ваших самбах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2013, 14:13:57 |
|
||
|
И сноваКирелические символы в именах файлов на FreeBSD
|
|||
|---|---|---|---|
|
#18+
maytonapprentice-noviceпропущено... Какую кодировку посоветуете Cp1251 или KOI8_R или UTF Давай так. Я уже дал совет что нужно вопрос перенести в форум по Unix. По сабжу скажу что Java работает со строками в Unicode. NTFS, UFS/ZFS скорее всего тоже хранят имена файлов в многобайтных и международных кодировках. Дефект скорее всего в настроках сервера. Где именно эта настройка я не знаю т.к. не специалист в этих ваших самбах. Спасибо огромное все заработало ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2013, 15:16:46 |
|
||
|
И сноваКирелические символы в именах файлов на FreeBSD
|
|||
|---|---|---|---|
|
#18+
Новые проблемы связанные с локализацией. Только я все настроил пришёл злой админ и открутил локализацию UTF8. Теперь у меня другая беда при помощи кусочка проги любезно предоставленным acp.mk (с небольшой модернизацией) я вычитываю имена файлов правильно но вот найти эти файлы на диске не магу. Вот небольшой примерчик Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. допустим у нас в папочке лежит Лист Microsoft Excel.xlsx результат роботы следующий Лист Microsoft Excel.xlsx FileExist false ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2013, 13:45:22 |
|
||
|
И сноваКирелические символы в именах файлов на FreeBSD
|
|||
|---|---|---|---|
|
#18+
Простите за неточность Код: java 1. Да и если заходиш через терминал система не отображает русские имена вместо них знаки вопросов. Можно ли єто решить методами JAVA? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2013, 13:50:34 |
|
||
|
И сноваКирелические символы в именах файлов на FreeBSD
|
|||
|---|---|---|---|
|
#18+
Ты можешь провести остаток жизни в попытках угадать какой маппинг кодовой страницы там реально работает. В скобках замечу что в некоторых криво настроенных протоколах маппинг может быть произведён дважды наприм win1251->koi8->utf16. У меня нет алгоритмов как искать решение этой задачи. Самое лучшее что ты можешь сделать это 1) Сымитировать работу пользователя. Создай файл с названием АБВГДЕ....ЄЮЯ.xls. со стороны юзера (на Windows). 2) ПОсмотри как он создался. на стороне FreeBSD. 3) Если терминал не настроен (а он обычно не настроен) то смотри в АSCIIwrap или короче говоря узри коды символов имени файла в кодировке Unicode. 4) Прими решение о том как нужно обрабатывать эти замаппленные имена. И последнее. Купи бутылку коньяка и подружись с админом штоли... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2013, 14:09:18 |
|
||
|
И сноваКирелические символы в именах файлов на FreeBSD
|
|||
|---|---|---|---|
|
#18+
apprentice-noviceНовые проблемы У вас на диске есть один файл. Например "еҐап.txt". Вы читаете имя файла который есть на диске, получаете - "еҐап.txt", перекодируете - получаете другое имя например "херня.txt". Спрашиваете а есть-ли файл "херня.txt" на диске. Что-же ответит вам файловая система.. (когда она только что сказала что есть "еҐап.txt", а других нет). DirEx.java Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2013, 15:00:21 |
|
||
|
И сноваКирелические символы в именах файлов на FreeBSD
|
|||
|---|---|---|---|
|
#18+
avp.mkapprentice-noviceНовые проблемы У вас на диске есть один файл. Например "еҐап.txt". Вы читаете имя файла который есть на диске, получаете - "еҐап.txt", перекодируете - получаете другое имя например "херня.txt". Спрашиваете а есть-ли файл "херня.txt" на диске. Что-же ответит вам файловая система.. (когда она только что сказала что есть "еҐап.txt", а других нет). DirEx.java Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. Да там UTF-8 но при попытке обратится к файлу к примеру Вася.txt он говорит что такого файла нет. Хотя я вижу что он есть и я его вычитал просто в системе он отображается крокозябрикаи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2013, 17:35:04 |
|
||
|
И сноваКирелические символы в именах файлов на FreeBSD
|
|||
|---|---|---|---|
|
#18+
Точнее не вычитал а прочитал имя. Но файловая система это имя не принимает. То-есть говорит что такого файла с таким именем нет когда я пытаюсь получить к примеру размер файла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2013, 17:57:54 |
|
||
|
|

start [/forum/topic.php?all=1&fid=59&tid=2128348]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
175ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
84ms |
get tp. blocked users: |
2ms |
| others: | 200ms |
| total: | 505ms |

| 0 / 0 |
