Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

γεια σας...

λοιπον εχω προβλημα με χαρακτηρες που εμφανίζονται σε ενα 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

Δημοσ.

λογικα χρησιμοποιεις php για να συνδεθεις οποτε θα εχεις κατι σαν

>mysql_connect()

και

>mysql_select_db

κτλ.

δοκιμασε κατω απο την συνδεση σου να βαλεις το

>mysql_query("SET NAMES 'utf-8'");

Δημοσ.

Δώσε τον κώδικα όπου κάνεις το fillText, μαζί με τους όποιους ορισμούς μεταβλητών και συναρτήσεων χρησιμοποιεί.

 

Βάσει του αποτελέσματος φαίνεται σαν να χρησιμοποιείς κάπου μια method που δεν είναι ECMA standard, αλλά αν δε δούμε κώδικα δεν ξέρω τι μπορεί να είναι αυτό.

Δημοσ.

φιλε 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...αυτα...ευχαριστω και παλι

  • 2 εβδομάδες αργότερα...
Δημοσ.

λοιπόν βρηκα τη λύση μόνος μου (yeah!) :rolleyes: και απλα την δημοσιεύω εδω σε περιπτωση που και καποιος αλλος αντιμετωπισει το ιδιο κόλλημα :

δεν φταιει το unicode ή το chrome, το προβλημα οφείλεται σε κατι ποιο "γελίο", εχει να κανει με την ονοματοδοσια μεταβλητων (!)

 

όλα τα ονοματα πινάκων σε php και javascript, καθώς και τα ονόματα των ιδιωτητων του object ειναι ιδια, ονομαζονται name...

εκει κολλαει και χάνεται η μπάλα...αν αλλάξετε τα ονόματα των μεταβλητων και δεν ειναι όλα ιδια το πρόβλημα εξαφανίζεται

ειναι απο αυτα τα σπαστικα προβλήματα που κανενα βιβλιο δεν θα σε ψιλιάσει. :mad: :-(

φυσικα πάντα πρέπει πάντα να προσέχετε το unicode να ειναι ιδιο σε database, sourcecode και site. το συνηθες ειναι το utf8 general ci

 

αυτά....... ^_^

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...