Novas Δημοσ. 2 Νοεμβρίου 2005 Δημοσ. 2 Νοεμβρίου 2005 Μήπως ξέρει κανείς πως μπορώ να διαβάσω και να εκτυπώσω στην οθόνη ελληνικούς χαρακτήρες χρησιμοποιώντας Java; Βασικά χρησιμοποιώ τον Jcreator ως editor και συνδέομαι μέσω ODBC σε Access για να ανακτήσω τα δεδομένα που χρειάζομαι. Όταν όμως προσπαθώ να τα εκτυπώσω σε dos console, αυτά εμφανίζονται εν ολίγοις ακαταλαβίστικα, δεδομένου ότι στην Access είναι αποθηκευμένα με ελληνικούς χαρακτήρες. Το πρόγραμμα (desktop java application) εν ολίγοις που έχω φτιάξει δέχεται από το χρήστη ένα input, το οποίο ενσωματώνεται σε μια ερώτηση SQL και επιστρέφει τα ανάλογα αποτελέσματα. Μήπως μπορεί κανείς να προτείνει κάτι;
alkisg Δημοσ. 4 Νοεμβρίου 2005 Δημοσ. 4 Νοεμβρίου 2005 Κάνε system("chcp 1253") system είναι η διαδικασία εκτέλεσης εντολών συστήματος στην C, δεν ξέρω πως είναι στην java.
Novas Δημοσ. 4 Νοεμβρίου 2005 Μέλος Δημοσ. 4 Νοεμβρίου 2005 Φίλε μου συγγνώμη εκ των προτέρων γι' αυτό που θα σου πω, αλλά αυτή δεν είναι σοβαρή απάντηση.
boutsak Δημοσ. 4 Νοεμβρίου 2005 Δημοσ. 4 Νοεμβρίου 2005 H lysth brisketai mallon edw: http://www.capitolacomputing.com/intl_java_charset.htm Kalh ypomonh! P.S. :bebaiwsou oti swzeis ta deomena sou se unicode morfh
alkisg Δημοσ. 4 Νοεμβρίου 2005 Δημοσ. 4 Νοεμβρίου 2005 Γιατί βρε δεν είναι σοβαρή απάντηση; Εννοείς ότι δεν κατάλαβες ότι σου λύνει το πρόβλημα; Τα Windows και ο editor της Java χρησιμοποιούν windows-1253, το DOS 737. Άμα αλλάξεις κωδικοσελίδα στο DOS (προσωρινά, μέσα από το πρόγραμμά σου) όλα θα φαίνονται ΟΚ. Φυσικά θα υπάρχει κι άλλος τρόπος, δηλαδή να λες στην java να κάνει output κατευθείαν σε 737, αλλά κι αυτός που σου πρότεινα μια χαρά δουλεύει. Περιμένω εξήγηση γιατί δεν ήταν σοβαρή η απάντηση!
Novas Δημοσ. 7 Νοεμβρίου 2005 Μέλος Δημοσ. 7 Νοεμβρίου 2005 Έξοδος: > Put Product's Name: Τ Product's Name Price Ϊ≤ώΉ▌ΊΪά 60.00
Novas Δημοσ. 7 Νοεμβρίου 2005 Μέλος Δημοσ. 7 Νοεμβρίου 2005 Κώδικας που έχω γράψει για να τυπώνει ελληνικά: import java.io.*; import java.nio.*; import java.nio.charset.*; class test { public static void main (String[] args){ try { BufferedReader in = new BufferedReader(new InputStreamReader(System.in,"ISO-8859-7")); String str = ""; while (str != null) { System.out.print("> prompt "); str = in.readLine(); // Create the encoder and decoder for ISO-8859-7 Charset charset = Charset.forName("ISO-8859-7"); CharsetDecoder decoder = charset.newDecoder(); CharsetEncoder encoder = charset.newEncoder(); // Convert a string to ISO-LATIN-7 bytes in a ByteBuffer // The new ByteBuffer is ready to be read. ByteBuffer bbuf = encoder.encode(CharBuffer.wrap(str)); // Convert ISO-LATIN-7 bytes in a ByteBuffer to a character ByteBuffer and then to a string. // The new ByteBuffer is ready to be read. CharBuffer cbuf = decoder.decode(bbuf); String s = cbuf.toString(); System.out.println(s); } } catch (IOException e) { } } }
Γηρυόνης Δημοσ. 19 Νοεμβρίου 2005 Δημοσ. 19 Νοεμβρίου 2005 Η dos κονσόλα δεν τυπώνει ελληνικά. Για να δεις αν όντως γράφεις ελληνικά δύο πράγματα μπορείς να κάνεις 1) γράψε τα δεδομένα σου σε ένα αρχείο 2) διάβασέ τα από τη βάση και τύπωσέ τα σε κάποιο Java gui αντικείμενο (π.χ. panel)
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.