asimako Δημοσ. 11 Απριλίου 2016 Δημοσ. 11 Απριλίου 2016 Έχω συνδέσει επιτυχώς την MySQL DB με το Django Framework μέσω της μονάδας MySQL module και μπορώ να αποθηκεύσω επιτυχώς ελληνικούς χαρακτήρες με το ORM του Django σε CMD των Windows. Η βάση δεδομένων έχει δημιουργηθεί με phpmyadmin και collation utf8_unicode_ci. Δυστυχώς δεν μπορώ να πραγματοποιήσω το αντίστροφο, αφού έχω κάνει όλες τις ρυθμίσεις που αναφέρονται στην σελίδα και δυστυχώς τα ελληνικά δεν παίζουν μέσω ORM και DOS αλλά μόνο τα λατινικά. Παραθέτω και μερικές φωτογραφίες με τα δεδομένα της βάσης MySQL όπως είναι αποθηκευμένα αλλά το αντίστροφο δεν συμβαίνει. Ευχαριστίες
k33theod Δημοσ. 11 Απριλίου 2016 Δημοσ. 11 Απριλίου 2016 Δεν χρησιμοποιώ αυτό το πρόγραμμα αλλά είχα ένα παρόμοιο πρόβλημα με ελληνικά σε μια βιβλιοθήκη της python (matplotlib) Ψάχνοντάς το βρήκα ότι δεν μου εμφάνιζε ελληνικούς χαρακτήρες διότι είχε default γραμματοσειρά κάποια serif και μετά στο documentation ότι υπήρχε κάποια εντολή με την οποιά μπορούσες να αλλάξεις τα defaults του αρχείου ρυμθίσεων με κάποιες εντολές συγκεκριμένα για την matplotlib την εντολή matplotlib.rcParams['παράμετρος']='τιμή' έτσι δίνοντας matplotlib.rcParams['font.family']='Arial' είχα ελληνικά χωρίς πρόβλημα Ψάξε λοιπόν το documentation μήπως το πρόβλημα είναι παρόμοιο
M2000 Δημοσ. 11 Απριλίου 2016 Δημοσ. 11 Απριλίου 2016 Υπάρχει τρόπος όμως να ξέρει τον αριθμό του χαρακτήρα, για να καταλάβει αν δουλεύει με Unicode ή όχι. http://stackoverflow.com/questions/13106175/how-to-find-out-number-name-of-unicode-character-in-python Από εδώ δεν δούλεψε τίποτα; https://docs.djangoproject.com/es/1.9/topics/i18n/
defacer Δημοσ. 11 Απριλίου 2016 Δημοσ. 11 Απριλίου 2016 Πιθανότατα αυτό που πρέπει να κάνεις είναι να προσθέσεις 'OPTIONS': { 'init_command': 'SET names "utf8"' } στο settings.py Ελπίζω να καταλαβαίνεις καλύτερα απο μένα τι σημαίνει αυτό, γιατί δεν έχω την παραμικρή ιδέα από Django. 1
asimako Δημοσ. 13 Απριλίου 2016 Μέλος Δημοσ. 13 Απριλίου 2016 Έκανα τις ρυθμίσεις που αναφέρονται σε αυτό το άρθρο και δυστυχώς έχω τα ίδια προβλήματα. Σας παραθέτω εικόνες με το πρόβλημα και τις ρυθμίσεις, όσο αφορά το κομμάτι της MySQL (phpmyadmin). Ευχαριστίες
mad-proffessor Δημοσ. 13 Απριλίου 2016 Δημοσ. 13 Απριλίου 2016 Αν εισαι σε development mode(django server) και δε μιλαμε για production machine. Σβησε τη βαση που εκανες μεσω phpmyadmin και δημιουργησε μια νεα, σωστα με πινακες, με το collation που θες, μεσω cli. Σιγουρεψου οτι στο settings.py ειναι ολα σωστα. Εναλλακτικα πειραματισου με sqlalchemy, δε σε δεσμευει σε ενα rdbms.
pmav99 Δημοσ. 13 Απριλίου 2016 Δημοσ. 13 Απριλίου 2016 Εγώ πάντως, με τον τρόπο που το περιγράφεις δεν έχω καταλάβει το πρόβλημα σου. ποιο είναι δηλαδή το αντίστροφο του: μπορώ να αποθηκεύσω επιτυχώς ελληνικούς χαρακτήρες με το ORM του Django σε CMD των Windows.
M2000 Δημοσ. 13 Απριλίου 2016 Δημοσ. 13 Απριλίου 2016 Από κονσόλα προς βάση, αν κατάλαβα είναι οκ. Το ανάποδο έχει θέμα. Γιατί προφανώς η κονσόλα είναι Ansi στην εμφάνιση, ενώ έρχονται UTF8. Οπότε όταν είναι αγγλικά δεν υπάρχει θέμα, ενών ελληνικά υπάρχει αφού το UTF8 θέλει μετατροπή.
defacer Δημοσ. 13 Απριλίου 2016 Δημοσ. 13 Απριλίου 2016 On general principle θα έλεγα ότι UTF-8 στην κονσόλα των Windows, do not even bother. Μπορείς να δοκιμάσεις να δώσεις πρώτα chcp 65001 οπότε ναι μεν η κονσόλα θα γυρίσει σε UTF-8 αλλά... όπως είπα do not even bother.
pmav99 Δημοσ. 13 Απριλίου 2016 Δημοσ. 13 Απριλίου 2016 Αν το πρόβλημα σου είναι όντως να δεις στην κονσόλα τα ελληνικά, κανονικά don't even bother on windows. Δεν ξέρω αν κανένα powershell γίνεται τίποτα, αλλά με cmd.exe διόλου παράξενο που αντιμετωπίζεις προβλήματα.
asimako Δημοσ. 13 Απριλίου 2016 Μέλος Δημοσ. 13 Απριλίου 2016 Δημιούργησα μόνο την βάση δεδομένων μέσω phpmySQLadmin και με collation ut8_unicode_ci, τα υπόλοιπα τα έκανε το django μόνο του με τις εντολές schemamigration και migration, γιατί το syncdb δεν υπάρχει στην έκδοση που δουλεύω 1.9. Καταχώρησα τις εγγραφές στην βάση δεδομένων πάλι μέσω του Django και όχι της phpMySQLAdmin αλλά από Windows Console και django ORM. Πέρασα τα ελληνικά επιτυχώς και τα καταχώρησα στην βάση δεδομένων, το αντίστροφο δηλαδή το SELECT μέσω Windows Console και ORM δεν δουλεύει για εμένα. Αρχικά καλώ την κονσόλα του Djago και ύστερα παίζω με το ORM (entity.objects.all() αφού κάνω αρχικά import την αντίστοιχη entity από τα μοντέλα). Η απάντηση είναι ότι το Windows Console δεν υποστηρίζει utf-8 χαρακτήρες και προσπάθησα να το αλλάξω με chcp 65001 αλλά δυστυχώς έχω πρόβλημα σε Windows Console όταν φτάσω σε Django console χτυπάει σφάλμα ότι το 65001 δεν είναι διαθέσιμο! και δεν μπορώ να εκτελέσω το query μετά!! Ψάχνωντας βρήκα θα μπορούσα να το εκτελέσω μόνο σε μορφή HTML και όχι αλλού εδώ. Αυτό που μπορώ να κάνω είναι να συνεχίσω στην κατασκευή των template και να δώ εάν θα υπάρξει εκεί παρόμοιο πρόβλημα. Αν κάποιος με βοηθήσει για Windows Console τότε τί να πώ (που είναι αδύνατο), χίλια ευχαριστώ ! Ευχαριστίες
pmav99 Δημοσ. 13 Απριλίου 2016 Δημοσ. 13 Απριλίου 2016 Το ερώτημα είναι γιατί θες την κονσόλα; Αυτό δεν απαντάς... Εγκατέστησε jupyter άνοιξε ένα notebook και κάνε από εκεί τη δουλειά σου. Εναλλακτικά βάλε ipython και δούλεψε από το qtconsole.
k33theod Δημοσ. 13 Απριλίου 2016 Δημοσ. 13 Απριλίου 2016 Δημιούργησα μόνο την βάση δεδομένων μέσω phpmySQLadmin και με collation ut8_unicode_ci, τα υπόλοιπα τα έκανε το django μόνο του με τις εντολές schemamigration και migration, γιατί το syncdb δεν υπάρχει στην έκδοση που δουλεύω 1.9. Καταχώρησα τις εγγραφές στην βάση δεδομένων πάλι μέσω του Django και όχι της phpMySQLAdmin αλλά από Windows Console και django ORM. Πέρασα τα ελληνικά επιτυχώς και τα καταχώρησα στην βάση δεδομένων, το αντίστροφο δηλαδή το SELECT μέσω Windows Console και ORM δεν δουλεύει για εμένα. Αρχικά καλώ την κονσόλα του Djago και ύστερα παίζω με το ORM (entity.objects.all() αφού κάνω αρχικά import την αντίστοιχη entity από τα μοντέλα). Η απάντηση είναι ότι το Windows Console δεν υποστηρίζει utf-8 χαρακτήρες και προσπάθησα να το αλλάξω με chcp 65001 αλλά δυστυχώς έχω πρόβλημα σε Windows Console όταν φτάσω σε Django console χτυπάει σφάλμα ότι το 65001 δεν είναι διαθέσιμο! και δεν μπορώ να εκτελέσω το query μετά!! Ψάχνωντας βρήκα θα μπορούσα να το εκτελέσω μόνο σε μορφή HTML και όχι αλλού εδώ. Αυτό που μπορώ να κάνω είναι να συνεχίσω στην κατασκευή των template και να δώ εάν θα υπάρξει εκεί παρόμοιο πρόβλημα. Αν κάποιος με βοηθήσει για Windows Console τότε τί να πώ (που είναι αδύνατο), χίλια ευχαριστώ ! Ευχαριστίες Για ελληνικά πρέπει chcp 1253 και αλλάζεις και την default γραμματοσειρά, δεν νομίζω όμως ότι αυτό είναι το πρόβλημα γιατί από ότι λες έχεις ελληνικά στην κονσόλα
asimako Δημοσ. 13 Απριλίου 2016 Μέλος Δημοσ. 13 Απριλίου 2016 Χρησιμοποιώ την κονσόλα γιατί θέλω να δώ αρχικά εάν έχω πρόβλημα με το Django ORM! Καμία άλλη κονσόλα για να μπορώ να κάνω εύκολα την δουλειά μου (χωρίς πολύ configuration) και να μην υπάρχει πρόβλημα όπως με το cmd.exe? Ευχαριστώ
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα