Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Πρόβλημα με Encoding μετά τη μεταφορά από Greek Server σε εξωτερικού

Îåêßíçóå áðü ôï ìÝëïò Simplicity. Τελευταία δημοσίευση από το μέλος Παναγιώτης Καναβός στις 03-03-2010, 11:03. Υπάρχουν 2 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  03-03-2010, 02:12 57419

    Πρόβλημα με Encoding μετά τη μεταφορά από Greek Server σε εξωτερικού

    Καλησπέρα σας.
    Αντιμετωπίζω πρόβλημα που δε με αφήνει να κοιμηθώ 3 μέρες τώρα.

    Μετέφερα ένα site από ελληνικό server σε server εξωτερικού. Κανένα απολύτως πρόβλημα στην εμφάνισή του.
    Το πρόβλημα ξεκινάει όταν κάνω edit από το backend τα ελληνικά άρθρα. Χάνεται το σύμπαν και το μόνο που παίρνω σαν αποτέλεσμα μετά το Save είναι ???S?s??m αντί για ελληνικούς χαρακτήρες.
    Δοκίμασα στο config του τις αλλαγές σε utf-8 ή και windows-1253 αλλά μάταια..
    Απορώ τι έκανε ο developper που το έφτιαξε..

    Κοίταξαν το πρόβλημα 3 άλλοι developpers κ δεν μπορούν να βγάλουν άκρη. Όποια βοήθεια, θα ήταν εξαιρετικά πολύτιμη!!!

    Σας ευχαριστώ!
  •  03-03-2010, 09:43 57422 σε απάντηση της 57419

    Απ: Πρόβλημα με Encoding μετά τη μεταφορά από Greek Server σε εξωτερικού

    Πρέπει να γίνει λίγο πιο αναλυτικός. Τι είναι αυτό το backend; Σε τι μορφή είναι τα άρθρα και που είναι αποθηκευμένα;
    Dimitris Papadimitriou
    Software Development Professional
    dotNETZone.gr News

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
  •  03-03-2010, 11:03 57424 σε απάντηση της 57419

    Απ: Πρόβλημα με Encoding μετά τη μεταφορά από Greek Server σε εξωτερικού

    Έχουμε αναφερθεί μυριάδες φορές στο θέμα των ελληνικών και η απάντηση είναι πάντα μία. Δεν υπάρχει πρόβλημα, εκτός και αν το δημιουργήσεις. Αν σώζεις unicode στη βάση, τα aspx αρχεία σου είναι σωσμένα σε Unicode ή UTF8 και δεν "καρφώνεις" μετατροπές εκεί που δεν χρειάζονται (π.χ. να "καρφώσεις" ένα 1253 παρότι η σελίδα είναι unicode) τα ελληνικά, βουλγάρικα, ουκρανικά ακόμα και γιαπωνέζικα θα φαίνονται σωστά. Για τα κινέζικα δεν είμαι 100% σίγουρος, νομίζω ότι αυτά απαιτούν UTF32

    Τα ??? μου λένε ότι κάπου έχετε "καρφώσει" κάποιο ελληνικό codepage και ο server που χρησιμοποιείτε δεν έχει ελληνικό locale. "Καρφώσει" σημαίνει είτε ότι έχετε χρησιμοποιήσει varchar αντί για nvarchar στη βάση, ή σε κάποιο σημείο έχετε "καρφώσει" ελληνικό codepage στη σελίδα, ή κάνετε μετατροπή από το ένα codepage στο άλλο με το χέρι. Τα Windows (και κατ' επέκταση το ASP.NET) χρησιμοποιούν το codepage του system locale για να χειριστούν non-unicode strings. Αν η μετατροπή από το ένα locale στο άλλο δεν είναι εφικτή οι χαρακτήρες που δεν μετατρέπονται αντικαθίστανται με ? Συνήθως το πρόβλημα εμφανίζεται μετά από "κάρφωμα" στη βάση.

    Αν το (ακόμα απροσδιόριστο) backend είναι MySQL θα πρέπει να έχετε υπόψη ότι δεν υπάρχει nvarchar τύπος αλλά θα πρέπει να ορίσεται ότι το codepage της βάσης ή του πίνακα που σας ενδιαφέρει είναι το UTF8. Εξαιτίας ενός bug με τον MySQL Connector θα πρέπει να ορίσετε το UTF8 ΚΑΙ στο connection string, διαφορετικά δεν θα γίνει σωστή αποθήκευση στη βάση.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems