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

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

Δημοσ. (επεξεργασμένο)

θα ήθελα να ρωτήσω αν ξέρει κανείς αν μπορούμε να χρησιμοποιήσουμε FULL TEXT SEARCH σε MySQL με παιδία που περιέχουν ελληνικούς χαρακτήρες.

 

μια πρόχειρη δοκιμή που έκανα σύμφωνα με το MySQL 5.0 Reference Manual ενώ δουλεύει κανονικά, με που αποθηκευτεί στα κελιά ελληνικά γράμματα σε UTF8 collation, το ίδιο ερώτημα γυρνά 0 rows.

Επεξ/σία από doomakos1
  • 10 μήνες μετά...
Δημοσ.

Καλησπέρα,

 

Προσπαθώ να κάνω ένα ερώτημα του τύπου:

 

>$query= "SELECT 'ακ.εξαμ', κωδικός, 'τ.ε', ΜΑΘΗΜΑ, 'ΔΗΛ.', 'ΣΥΜ.', a, b, c, ΣΥΝ, ok, 'pr%' FROM tbl_mathimata;";

 

αλλά για κάποιο λόγο που δε μπορώ να καταλάβω οι στήλες που περιέχουν τελείες όπως το "ακ.εξαμ", "τ.ε" κλπ δε τις αναγνωρίζει και μου εμφανίζει ερωτηματικά στα αποτελέσματα (????). Επίσης το τελευταίο πεδίο "pr%" αν το βάλω με τα αυτάκια ('pr%') μου εμφανίζει στον πίνακα επαναλαμβανόμενα το pr% και όχι τα πεδία του pr%, ενώ αν το βάλω σκέτο στο ερώτημα ως pr% μου βγάζει error πιθανότατα λόγω του συμβόλου %.

 

Ξέρει κανείς πως μπορώ να το φτιάξω;

 

*Να σημειώσω ότι αν στο SELECT βάλω αστερίσκο (*) και όχι συγκεκριμένα πεδία τότε τρέχει κανονικά το ερώτημα.

 

Ευχαριστώ

Δημοσ.

Καταρχήν είναι κακή πρακτική να ονομάζεις τις στήλες σου με αυτόν τον τρόπο. Παρόλα αυτά μπορείς να τις προσπελάσεις αν κάνεις σωστό escape ως εξής:

>SELECT `weird_column_name` FROM my_table;

Πρόσεξε ότι χρησιμοποιώ το ` και όχι το '.

 

Για περισσότερες πληροφορίες διάβασε αυτό: http://dev.mysql.com/doc/refman/5.0/en/identifiers.html

Δημοσ.

Ευχαριστώ πολύ για τις απαντήσεις, όντως δούλεψε με τους χαρακτήρες ``.

Τα ονόματα των στηλών ήταν έτσι απο την αρχή και ήθελα να δω αν υπήρχε τρόπος να δουλέψει χωρίς να το αλλάξω.

 

Επίσης για να διορθώσω το πρόβλημα με τα ελληνικά (που μου εμφάνιζε ερωτηματικά) πρόσθεσα όλες αυτές τις γραμμές ακριβώς μετά τη σύνδεση στη βάση:

>	mysql_query( "SET NAMES 'utf8'", $dblink );
mysql_query( "SET CHARACTER SET 'utf8'", $dblink );
// Set Character Set so that the database can accept greek characters
mysql_query("set character_set_client=utf8");
mysql_query("set character_set_connection=utf8"); 
mysql_query("set collation_connection=utf8"); 
mysql_query("set character_set_results=utf8");
mysql_query("set time_zone='+02:00'");
putenv("TZ=Europe/Athens");

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

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

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

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

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

Σύνδεση

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

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