Si Samba guarda amb tipus UTF però el sistema no, els caràcters amb accents es desdoblen (són dos caràcters erronis)
Si volem fer fitxers al sitema o via Samba i que no hi hagi problemes amb accents, cal tenir-ho tot amb el mateix sistema. Sinó, quan es fan amb UTF (Samba 3.x per defecte) i no visualitzem amb UTF es veuen dos caràcters erronis quan hi ha accents. O bé, si el fitxer està fet al sistema Samba mostrarà caràcters erronis, etc.
Configurar Samba:
Si volem que Samba 3.x guardi en codificació ISO-8859-15 cal posar a /etc/samba/smb.conf, a la secció general: unix charset = ISO-8859-15. Llavors els fitxers creats al sistema i via Samba no seran UTF i tot anirà bé. El unix charset hauria de ser igual que el del locale per defecte (si no volem tenir problemes, etc.)
També es pot migrar el sistema a UTF, però per varis motius no interessava.
Canviar els noms dels fitxers ja existents:
Queda un tema pendent: què fer amb els fitxers que potser han estat creats amb UTF però ara volem el seu nom codificat amb ISO-8859-15? Es pot fer servir el programa convmv, paquet a Debian amb el mateix nom. Es pot cridar perquè canviï tots els fitxers d'un directori i subdirectoris de cop, però no anava massa bé així que ho vaig fer fer d'un amb un. Amb un script tipus:
#!/bin/bash
convmv -f utf8 -t iso-8859-15 --notest --qfrom --qto "$1"
i llavors cridar a find amb:
find . -depth -exec canvia.sh {} \;
El -depth és perquè find primer processi els fitxers amb més profunditat i després els de menys profunditat. Sinó podriem estar canviant el nom del directori pare d'altres subdirectoris i que no es completés el canvi de nom.
Un cop fet això, tindrem el sistema sense UTF (era un requeriment), el Samba 3.x treballant sense UTF i els fitxers nous i vells sense UTF.
Canviant lleugerament tot plegat, es pot tenir Samba 2.x amb UTF, o podriem canviar els fitxers de ISO-8859-15 a UTF, etc. només amb les eines vistes.




