martedì 2 settembre 2008

Subversion vs Samba vs UTF-8 (opzione iocharset)

Situazione
Salvataggio dei dati di un pc su un server Gentoo Linux tramite subversion.

Sul server il charset di default è UTF-8:

# cat /etc/env.d/02locale
LC_ALL="it_IT.utf8"
LANG="it_IT.utf8"


# set|grep -i LC_ALL
LC_ALL=it_IT.utf8

Per accedere ai dati, monto lo share nascosto "C$" in modalità "cifs":

mount -t cifs //pc-utente/C$ /mnt

Dato che il repository subversion è ancora da inizializzare, eseguo un "import":

svn import /mnt/Documents\ and\ Settings/utente file:///dati/backup/SVNRepos

Problema
Ottengo però un messaggio di errore:

Aggiungo mnt/Documents and Settings/utente/Recent
svn: Dati UTF-8 validi
(hex: 43 68 65 63 6b 20 69 6e 20 57 69 6e 64 6f 77 73 20 55 70 64 61 74 65 20)
seguito da una sequence UTF-8 non valida
(hex: bb 20 4d 79)

Soluzione
In fase di mount si deve indicare in modo esplicito la codifica da utilizzare:

mount -t cifs -o iocharset=utf8 //pc-utente/C$ /mnt