slevinkelevra Δημοσ. 9 Νοεμβρίου 2011 Δημοσ. 9 Νοεμβρίου 2011 γεια σας... λοιπον εχω προβλημα με χαρακτηρες που εμφανίζονται σε ενα site που φτιαχνω τωρα... κανω query σε php και ο πινακας γεμιζει κανονικα με ονοματα στα ελληνικα μετατρεπω τον πινακα απο php σε javascript...επισης ολα καλα...οταν ανοιγω το source code του site ολα φαινονται μια χαρα, τα ονοματα στα ελληνικα μια χαρα μετα πιανω τον πινακα και με javascript αρχιζω να κανω fillText καθε στοιχείο του στον canvas της html5 (για να γραψω το ονομα πάνω στον canvas) και εκει υπαρχει το προβλημα, όλα τα στοιχεια εμφανιζονται ως undifined, αντι για το ονομα γραφει τη λέξη undifined...μονο στο google chrome, στον IExplorer εμφανιζονται κανονικα... εχω utf8 general ci στη βαση, στο κομματι της php, html και javascript, εχω δηλωσει arial fonts, εχω utf8 στο chrome, εχω googlαρει χωρις να βρω κατι ιδιαιτερο, εχω χασει τον υπνο μου με αυτο το γελιο πραγμα... τι λετε; ειναι το unicode, η js, η html5 το chrome; ευχαριστω πολυ, ελπιζω να μη σας κουρασα...αν θελετε καποια διευκρινηση πειτε Slevin
andios Δημοσ. 9 Νοεμβρίου 2011 Δημοσ. 9 Νοεμβρίου 2011 λογικα χρησιμοποιεις php για να συνδεθεις οποτε θα εχεις κατι σαν >mysql_connect() και >mysql_select_db κτλ. δοκιμασε κατω απο την συνδεση σου να βαλεις το >mysql_query("SET NAMES 'utf-8'");
slevinkelevra Δημοσ. 10 Νοεμβρίου 2011 Μέλος Δημοσ. 10 Νοεμβρίου 2011 προφανως ξεχασα να αναφερω οτι εχω κανει και αυτο που λες...
defacer Δημοσ. 10 Νοεμβρίου 2011 Δημοσ. 10 Νοεμβρίου 2011 Δώσε τον κώδικα όπου κάνεις το fillText, μαζί με τους όποιους ορισμούς μεταβλητών και συναρτήσεων χρησιμοποιεί. Βάσει του αποτελέσματος φαίνεται σαν να χρησιμοποιείς κάπου μια method που δεν είναι ECMA standard, αλλά αν δε δούμε κώδικα δεν ξέρω τι μπορεί να είναι αυτό.
slevinkelevra Δημοσ. 11 Νοεμβρίου 2011 Μέλος Δημοσ. 11 Νοεμβρίου 2011 φιλε defacer εχεις δικιο, πρεπει να δωσω και κωδικα. λοιπον.... > //μετα το query γραφω αυτο για να κανω το table απο php σε js...δουλευει αλλα τυπωνει παλι undifined <script type="text/javascript" language="JavaScript"> var name=[]; <? for($i=0;$i<$b; $i++) {echo "name[$i]='".$name[$i]."';\n"; } ?> for (var i = 0 ; i < 7 ; i++){ document.write(name[i]); } </script> //μετα οριζω τον canvas σε html5 και ξανα-ανοιγω javascript και ξεκιναω : //get the 2d context canvaspoints = document.getElementById("points"); ctxpoints = canvaspoints.getContext("2d"); //clear canvas once ctxpoints.clearRect(0,0,canvaspoints.width, canvaspoints.height); //create a shape object var shape=function (x,y,id,name) { this.x=x; this.y=y; this.id=id; this.name=name; }; //assing the shapes array to an array of shape objects, named shapesdraw, to fill the shape object with data. then use the shapesdraw to draw on canvas var shapesdraw=new Array(); for (var i = 0 ; i < <?=$a?> ; i++){ shapesdraw[i]=new shape(x[i],y[i],id[i],name[i]); } //using shapesdraw array to draw the points on the map for (var h = 0; h < shapesdraw.length ; h++) { //draw var tmpshape=shapesdraw[h]; ctxpoints.fillRect(tmpshape.x, tmpshape.y, 10, 10); //show names ctxpoints.font = "20px arial"; ctxpoints.textBaseline = "top"; ctxpoints.fillText(tmpshape.name,tmpshape.x,tmpshape.y); } //τα x,y, id στο shapes objects δουλεουν κανονικα την πρωτη "postia" που δειχνω με τη μετατροπη απο php σε js τη βρηκα μετα απο googlαρισμα...σκεφτηκα οτι χρειαζεται, αφου θελω js table για να χρησιμοποιηθει στον canvas...αρχικα "δουλευε" δηλαδη εβγαζε "κινεζικα" και οχι ελληνικους χαρακτηρες...νομιζα οτι εφταιγε το οτι δεν εχω ορισει fonts η κατι τετοιο...δεν μπορω να καταλαβω γιατι τωρα δεν δουλευει τιποτα...επίσης να πω οτι δεν εχω καθολου css...αυτα...ευχαριστω και παλι
slevinkelevra Δημοσ. 23 Νοεμβρίου 2011 Μέλος Δημοσ. 23 Νοεμβρίου 2011 λοιπόν βρηκα τη λύση μόνος μου (yeah!) και απλα την δημοσιεύω εδω σε περιπτωση που και καποιος αλλος αντιμετωπισει το ιδιο κόλλημα : δεν φταιει το unicode ή το chrome, το προβλημα οφείλεται σε κατι ποιο "γελίο", εχει να κανει με την ονοματοδοσια μεταβλητων (!) όλα τα ονοματα πινάκων σε php και javascript, καθώς και τα ονόματα των ιδιωτητων του object ειναι ιδια, ονομαζονται name... εκει κολλαει και χάνεται η μπάλα...αν αλλάξετε τα ονόματα των μεταβλητων και δεν ειναι όλα ιδια το πρόβλημα εξαφανίζεται ειναι απο αυτα τα σπαστικα προβλήματα που κανενα βιβλιο δεν θα σε ψιλιάσει. φυσικα πάντα πρέπει πάντα να προσέχετε το unicode να ειναι ιδιο σε database, sourcecode και site. το συνηθες ειναι το utf8 general ci αυτά.......
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα