Δεν αναγνωριζει γραμματοσειρα ονόματος αρχείων& φακέλων προερχόμενα από windows

Φάκελοι και αρχεία excel που έχουν δημιουργηθεί σε windows όταν στέλνονται σε Kubuntu δεν μπορούν να διαβαστούν τα ονόματα …
το αποτέλεσμα είναι της μορφής:
ÇÅÄôæêäæ âäë
ü4
έχω κάνει εγκατάσταση γραμματοσειρών σύμφωνα με τις οδηγίες
https://itsfoss.com/install-microsoft-fonts-ubuntu/
αλλά δεν άλλαξε κάτι …
τι μπορώ να κάνω για να λυθεί το πρόβλημα;
το περιεχόμενο των αρχείων excel μπορεί να διαβαστεί κανονικά

2 Likes

Δεν έχει να κάνει με την γραμματοσειρά. Έχει να κάνει με την κωδικοποίηση.

Το ερώτημα είναι με ποιον ακριβώς τρόπο «τα στέλνεις» στο λίνουξ;

Αν για παράδειγμα βλέπεις τον δίσκο/στικάκι από το λίνουξ, τότε το λίνουξ θα δει σωστά την κωδικοποίηση. Οπότε μήπως πχ τα βάζεις σε ένα zip; Σε αυτήν την περίπτωση φταίει το zip που έχει λάθος κωδικοποίηση.

1 Like

Καλώς ήρθες @dimz στην παρέα μας.
παρεμπιπτόντως έχω κι εγώ κάποια τέτοια θέματα με αρχεία που είχαν γραφτεί σε win 7 και δεν είχα βρεί λύση, εδώ και κάποια χρόνια (4-5) ίσω είναι ευκαιρία να το ξανακοιτάξω.

edit:Με μια δεύτερη σκέψη, έχεις εγκαταστήσει τα ελληνικά πλήρως; έχω linux mint και δεν ξέρω από kubuntu πως θα μπορούσες να το δες…

1 Like

'Όπως είπε και ο @lucinos το πρόβλημα είναι στην κωδικοποίηση των ονομάτων των αρχείων και όχι στην έλλειψη κάποιας γραμματοσειράς. Πριν το unicode που πλέον χρησιμοποιούν οι πάντες είχαμε διάφορες κωδικοποιήσεις χαρακτήρων στα 8bit.

Τις περισσότερες φορές θα γίνει σωστά η μετάφραση από την παλιές κωδικοποιήσεις σε unicode, αλλά η ουσία είναι στις λεπτομέρειες. Αν προσαρμόζεις ένα παλιό δίσκο θα πρέπει κάποιες φορές να ορίσεις την αρχική κωδικοποίηση, αν αποσυμπιέζεις ένα αρχείο το ίδιο κλπ…

Επίσης μπορείς να αλλάξεις το όνομα είτε με το χέρι είτε αυτόματα από την μια κωδικοποίηση στην άλλη αν γνωρίζεις την αρχική κωδικοποίηση.

Σε κάθε περίπτωση το πρόβλημα αφορά το όνομα του αρχείου και σπάνια το περιεχόμενο του.

Υπάρχει μια θεμελιώδης διαφορά σε σχέση με το πρόβλημα με το όνομα και με το πρόβλημα με το περιεχόμενο.

Το όνομα τού αρχείου αλλάζει κωδικοποίηση από το ένα σύστημα στο άλλο.

Το περιεχόμενο ενός αρχείου όμως είναι απλώς μια σειρά από μπάϊτ εντελώς ανεξάρτητη από το σύστημα. Όταν αντιγράφεται είναι πάντα η ίδια σειρά από μπάϊτ. Μπορεί φυσικά μια εφαρμογή που το διαβάζει να κάνει το αντίστοιχο «λάθος» στην κωδικοποίηση, αλλά δεν έχει καθόλου να κάνει με το σύστημα αποθήκευσης τού αρχείου

1 Like

Καλώς σας βρήκα λοιπόν και με την ευκαιρία Χρόνια Πολλά και Υγεία για όλο τον κόσμο…!!

Πράγματι χρησιμοποίησα zip για αποστολή με email του συνολικού φακέλου αφού πρόκειται για μεγάλο αριθμό αρχείων.
Θα δοκιμάσω τι γίνεται και με φλασάκι…αλλά ακόμη και αν το ξεπεράσω θα το ξαναβρώ μπροστά μου με αρχεία που μου στέλουν διαφορετικά άτομα και είναι zip ( και μάλιστα αλλα σε xls και άλλα σε xlsx…). Πρέπει λοιπόν κάπως να το αντιμετωπίσω αυτό.

Χρησιμοποιώ Linux (μόνο) περίπου εδώ και 8 χρόνια αλλά δεν έχω βαθύτερες γνώσεις με κωδικοποιήσεις κλπ.
χρησιμοποιώ πολλές φορές το τερματικό και μπορώ να χρημοποιήσω εφαρμογές python (αν αυτό θα μπορούσε να βοηθήσει…)

Πως θα μπορούσα να αντιμετωπίσω αυτό το πρόβλημα με τις κωδικοποιήσεις?
Υπάρχει τρόπος (κάποιο πρόγραμμα ίσως) να αναγνωρίζει την κωδικοποίηση και να μπορώ να μετασχηματίσω τα ονόματα;
Τι θα προτείνατε?
ευχαριστώ για τον χρόνο σας…

μπορείς να χρησιμοποιήσεις την εντολή iconv για να κάνεις την μετατροπή.

δες πχ https://askubuntu.com/questions/568565/how-to-rename-file-names-to-different-encoding

μπορείς επίσης να φτιάξεις ένα προγραμματάκι σε python που κάνει την δουλειά (μάλιστα είχα φτιάξει παλιά ένα, κάπου πρέπει να βόσκει στο ελληνικό ubuntu φόρουμ.

1 Like

Θα το δω και πιο αναλυτικά αλλά σε πρώτη φάση βλέπω να θέλει την αρχική κωδικοποίηση την οποία όμως πως θα μπορούσα να αναγνωρίσω?
Θα μετονομάσει με ην ίδια εντολή και τα ονόματα φακέλων και ονόματα αρχείων ?
Οποιαδήποτε βοήθεια θα ήταν πολύτιμη…

Αν μιλάμε για ελληνικά τότε είναι είτε η windows-1253 είτε το iso-8859-7 (προφανώς δεν είναι unicode αφού αν ήταν δεν θα υπήρχε πρόβλημα)

Η «πιο σωστή» λύση θα ήταν αυτός που δημιουργεί το zip να χρησιμοποιεί μια εφαρμογή που να το κάνει σε unicode. (οπότε δεν θα εμφανιζόταν καθόλου το πρόβλημα)

1 Like

Ναι είναι Ελληνικά …Θα το δοκιμάσω λοιπόν για αυτές τις κωδικοποιήσεις σε UTF8
αυτός που ανεβάζει τα αρχεία δυστυχώς δεν πρόκειται να ασχοληθεί …

ότι έχουμε φτάσει 2020 και κόσμος στα windows επιμένει σε απαρχαιωμένες κωδικοποιήσεις τής προηγούμενης χιλιετίας, με ξεπερνάει. Ακόμα και αφού αδιαφορούν για την μικρή ενόχληση που προκαλούν στούς λινουξάδες. Ακόμα και στα windows αν το στείλεις σε άλλη χώρα (που τα windows δεν είναι ψιλιασμένα και μαντεύουν σωστά την κωδικοποίηση) πάλι θα βγουν αλαμπουρνέζικα αφού δεν είναι unicode.

Ψάχνοντας κάτι παλιά μου αρχεία βρήκα αυτό:

sudo sudo apt-get install recode

και δουλεύει έτσι:

recode windows-1253 /διαδρομή/προς/αρχείο

https://github.com/rrthomas/recode

και πες μας αν δούλεψε…

1 Like

Δεν τα κατάφερα να δουλέψει…

kubdim@kubdim-HP-250-G7-Notebook-PC:~/Desktop/test_for_os_python
$ recode  windows-1253 /home/kubdim/Desktop/test_for_os_python/ÇÅÄôæêäæ_äÅÇè
recode: fopen (/home/kubdim/Desktop/test_for_os_python/ÇÅÄôæêäæ_äÅÇè): Is a directory

Σημαντική λεπτομέρεια: Δεν θες να αλλάξεις την κωδικοποίηση τών αρχείων. Το πρόβλημά σου είναι με τα ονόματα. Επίσης από την στιγμή που βρίσκονται σε ext4 η κωδικοποίησή τους πια είναι utf-8 έτσι και αλλιώς. Άρα δεν θες ακριβώς να αλλάξεις ούτε την κωδικοποίησή τους αφού τα μετέφερες. Το πρόβλημά σου είναι ότι στην αλλαγή (που ήδη έγινε) αναγνωρίστηκαν ως λάθος χαρακτήρες επειδή από default το λίνουξ όταν δεν βλέπει unicode πιστεύει ότι είναι iso-8859-1 (που είναι το σωστό για τις «δυτικές γλώσσες») ενώ επειδή δεν είναι δυτική γλώσσα αλλά ελληνικά το σωστό ήταν το iso-8859-7 (ή το εντελώς παρόμοιο windows-1253).

Δηλαδή το μόνο που θες είναι μετονομασία τών αρχείων στα σωστά ονόματα για το οποίο αρκεί η σωστή αλλαγή χαρακτήρων, όχι πια αλλαγή κωδικοποίησης.

Είχα το ίδιο πρόβλημα με αρχεία zip που κατέβαζα παλιότερα από εκπαιδευτικές ιστοσελίδες. Έχω linux mint με διαχειριστή αρχείων τον thunar. Έκανα προσθήκη “προσαρμοσμένης ενέργειας” (Επεξεργασία –> Ρυθμίσεις προσαρμοσμένων ενεργειών –> Προσθήκη νέας), ώστε με δεξί κλικ να αποσυμπιέζω με τη σωστή κωδικοποίηση (το βρήκα με πολύ ψάξιμο τότε στο internet).

1 Like

Και στο Mint οπως και στο Debian νομιζω μπορεις να συμπεριλαβεις και αλλες κωδικοποιησεις (locales).

Δοκιμασε το εξης σε ενα τερματικο: sudo dpkg-reconfigure locales

και στην λιστα με τις κωδικοποιησεις βρες και επελεξε (πατωντας το Spacebar) την κωδικοποιηση el_gr_ISO-8859-7
και
el_gr-UTF-8

Πατωντας το Tab επελεξε OK και πατα Enter. Τωρα επελεξε την κωδικοποιηση που θες σαν προκαθορισμενη, ή ασε αυτη που εχει ηδη επιλεξει το συστημα και πατα Enter. Στο τελος θα βγαλει κατι παρομοιο με αυτο εδω (το δικο σου μπορει να ειναι λιγο διαφορετικο).

Generating locales (this might take a while)...
el_GR.ISO-8859-7... done
el_GR.UTF-8... done
en_CA.UTF-8... done
Generation complete.

Μετα δοκιμασε να δεις αν σου βλεπει τα ονοματα των αρχειων απο τα Windows κανονικα και πες μας αν σου δουλεψε αυτο το κολπο.

Αυτό θα γίνει σε επίπεδο συστήματος, και οι συνέπειες σε ένα μοντέρνο σύστημα είναι άγνωστες.

Δεν ξέρω αν λύθηκε το πρόβλημά σου, αλλά δεν μας είπες αν δοκίμασες την λύση του @Βασίλης_Γ, που πολύ σωστά αναφέρει την εντολή :

unzip -O cp737

Άνοιξε τερματικό στο “μονοπάτι” που περιέχει το συμπιεμένο αρχείο και χρησιμοποίησε την προσθέτοντας το όνομά του στο τέλος, κάπως έτσι :

unzip -O cp737 onoma_toy_sympiesmenoy_arxeiou.zip

Ο χαρακτήρας μετά την παύλα δεν είναι μηδενικό αλλά όμικρον κεφαλαίο.

3 Likes

Με την εντολή

unzip -O cp737 onoma_toy_sympiesmenoy_arxeiou.zip

η αποσυμπίεση γίνεται σε κατανοητή Ελληνική γραμματοσειρά…

Σας ευχαριστώ πολύ όλους…!!!
Το πρόβλημα λύθηκε

6 Likes

Αυτό το νήμα έκλεισε αυτόματα 2 ημέρες μετά την τελευταία απάντηση. Δεν επιτρέπονται πλέον νέες απαντήσεις.