Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2020-10-30 14:49:54

  debbie - Użytkownik

debbie
Użytkownik
Zarejestrowany: 2006-09-19

Zmiana polskich znaków w nazwach plików i katalogów

Witam,
Mam taki problem. Mianowicie jakiś czas temu postawiłem serwer samby w kodowaniu UTF-8.
Oczywiście użytkownicy przez jakiś czas korzystając z serwera tworzyli nowe pliki z polskimi znakami - i tutaj wszystko gra.

Jednak zaszła potrzeba zmigrowania kolejnych udziałów ze starego serwera samby, który był skonfigurowany
pod kodowaniem unix charset = ISO8859-2. Kopię wykonałem rsyncem zdalnie.

Po zmigrowaniu na nowy serwer, kiedy wyświetlam dograne udziały, w konsoli nazwy plików i katalogów mają krzaki
a po zmapowaniu udziału nie są widoczne katalogi i pliki z polskimi znakami.

Zastanawiam się teraz jak to ugryźć aby pasowało. Czyli jak zmienić te krzaki w skopiowanych ze starego serwera
katalogach i plikach na polskie znaki? Znacie może jakieś sensowne narzędzie lub skrypt który załatwi ten temat tak aby to było pewne?

A może wykonać jeszcze raz od nowa kopię rsyncem ze zmianą kodowania w locie jeśli tak się da?
Z góry dzięki za info i pomysły :)


debbie
Wrócę jak zjem zupę i drugie danie - tyle
a oto ta zupa:

Offline

 

#2  2020-10-30 17:56:10

  arecki - Użytkownik

arecki
Użytkownik
Skąd: 44 Bronson Lane Hensonville
Zarejestrowany: 2016-03-03

Re: Zmiana polskich znaków w nazwach plików i katalogów

Spróbuj

Kod:

rsync --iconv=ISO-8859-2,UTF-8 /source /destination

--iconv=CONVERT_SPEC
              Rsync can convert filenames between character  sets  using  this
              option.   Using a CONVERT_SPEC of "." tells rsync to look up the
              default character-set via the locale setting.  Alternately,  you
              can  fully specify what conversion to do by giving a local and a
              remote charset separated by a comma  in  the  order  --iconv=LO‐
              CAL,REMOTE, e.g. --iconv=utf8,iso88591.  This order ensures that
              the option will stay the same whether you're pushing or  pulling
              files.   Finally,  you  can  specify either --no-iconv or a CON‐
              VERT_SPEC of "-" to turn off any conversion.  The  default  set‐
              ting  of  this option is site-specific, and can also be affected
              via the RSYNC_ICONV environment variable.

              For a list of what charset names your local iconv  library  sup‐
              ports, you can run "iconv --list".

              If you specify the --protect-args option (-s), rsync will trans‐
              late the filenames you specify on the command-line that are  be‐
              ing sent to the remote host.  See also the --files-from option.

              Note  that  rsync  does not do any conversion of names in filter
              files (including include/exclude files).  It is up to you to en‐
              sure  that  you're  specifying  matching rules that can match on
              both sides of the transfer.  For instance, you can specify extra
              include/exclude  rules  if there are filename differences on the
              two sides that need to be accounted for.

              When you pass an --iconv option to an rsync daemon  that  allows
              it,  the daemon uses the charset specified in its "charset" con‐
              figuration parameter regardless of the remote charset you  actu‐
              ally  pass.   Thus,  you may feel free to specify just the local
              charset for a daemon transfer (e.g.  --iconv=utf8).

Ostatnio edytowany przez arecki (2020-10-30 17:59:01)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)