Όλες οι Ερωτήσεις στο PCstepsΚατηγορία: Android Κινητά/TabletΠρόβλημα ανάγνωσης ελληνικών χαρακτήρων σε αρχείο .ahk
Hype Bitcoin ρώτησε πριν 4 έτη

Καλησπέρα δουλεύω εδώ και αρκετό καιρό το autohotkey που είναι ουσιαστικα πρόγραμμα για μακρο το οποίο διαβάζει ένα σκριπτακι με καταληξη .ahk (Unicode) με τα μακρο που του εχω βαλει.
Στον κύριο υπολογιστή μου δουλεύει σωστα χωρις κανένα προβλημα όταν όμως παω να τρεξω το σκριπτ σε ένα δευτερο υπολογιστη μου διαβαζει τους ελληνικους χαρακτηρες για κινεζικους.
Ανοίγω το σκριπτακι με το notepad++ όλοι οι χαρακτήρες εμφανίζονται κανονικα όταν το ανοίγω με το σημειωματάριο ολοι εκτος από τους αγγλικούς πάλι κινεζικοι.
Τους αλλάζω στα ελληνικά κάνω αποθήκευση ως UTF-8 τους διαβάζει κανονικά και από το σημειωματάριο αλλα όταν τρέχω το σκριπτ και παλι τα ιδια μου βγαζει error ανάγνωσης
Κάποια ιδέα για το τι μπορεί να φταίει;;

2 Απαντήσεις

Χρήστος Δρακάκης απάντησε πριν 4 έτη

Πιστεύω ότι η διαφορά στα δύο μηχανήματα οφείλεται στη διαφορετική default system codepage. Στον 1ο υπολογιστή πρέπει να είναι η Greek-1253 ενώ στο άλλο πιθανότατα η Western European-1252. Η εφαρμογή σου δεν είναι Unicode ή δεν έχει σεταριστεί να λειτουργεί ως Unicode. Όταν το σύστημα πρέπει να κάνει μια μετατροπή από Unicode σε ANSI ή αντίστροφα, και δεν του προσδιορίζεις σε ή από ποιά codepage, θα χρησιμοποιήσει την default. Αυτό μπορεί να αλλαχτεί, αλλά επηρεάζει όλες τις μη Unicode εφαρμογές στο μηχάνημα, δεν είναι δυνατόν να οριστεί ανά εφαρμογή δυστυχώς. Δες περισσότερες λεπτομέρειες σε προηγούμενες αναρτήσεις μου εδώ και εδώ. Να ξεκαθαρίσω ότι όταν λέω αλλαγή system codepage σε ελληνικά, δε σημαίνει ότι και το user-interface θα αλλάξει σε ελληνικά, πχ δε θα σε ρωτάει "Θέλετε να διαγράψετε αυτό το αρχείο?", θα αλλάξει μόνο τον τρόπο που μετατρέπει τα κείμενα στις μη-Unicode εφαρμογές.
Ενδεχομένως να υπάρχει τρόπος να το αποφύγεις, εάν κάπου στην εφαρμογή σου μπορείς να ορίσεις εσύ την codepage που θα χρησιμοποιήσει, ή να του ορίσεις να τα είναι όλα Unicode, αντί ANSI. Ίσως αυτό μπορεί να γίνει και στα Scripts. Και προσοχή, άλλο Unicode, άλλο UTF-8! Δεν ξέρω τι format απαιτεί η εφαρμογή σου, αλλά απ' ότι μπορώ να συμπεράνω μάλλον Unicode. Οπότε δες αν και πώς μπορεί να κάνει το processing και το output επίσης σε Unicode. Η λύση αυτή θα ήταν και η πιο σωστή, τεχνικά.

Hype Bitcoin απάντησε πριν 4 έτη

Καταρχήν ευχαριστήσω για τον κοπο να μου απαντησεις τοσο εκτενώς και λεπτομερώς.
To παραδοξο ειναι οτι το συστημα και στον δευτερο υπολογιστη ειναι στα ελληνικα.
Επιλογή να το αποθηκευσω σε unicode δεν υπαρχει ουτε στο σημειωματάριο ουτε στο notepad++
Επίσης παρατήρησα  πως όταν το αποθήκευα σωστα από το notepad++ στο σημειωματαριο τα έβγαζε κινεζικα και το ανάποδο.
Τελικά προσπάθησα να βρω από το notepad++ στο section utf-8 την κωδικοποιηση Greek-1253 και όλα δουλευουν σωστα!!
Πραγματικα δεν ξερω πως δούλεψε αλλα δουλεψε… τα συμπερασματα δικα σου
Ευχαριστώ και πάλι