είναι σωστό αυτό το CHARACTER SET?

Συζητήσεις για την βάση δεδομένων MySQL και το phpMyAdmin

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
sibas
Honorary Member
Δημοσιεύσεις: 1853
Εγγραφή: 21 Φεβ 2003 01:21
Τοποθεσία: Μια εδώ.. Μια εκεί.. Σήμερα είμαι εδώ!!!
Επικοινωνία:

είναι σωστό αυτό το CHARACTER SET?

Δημοσίευση από sibas » 17 Οκτ 2016 14:58

Η database μου έχει σαν collation utf8_general_ci

θέλω να κάνω το παρακάτω

Κώδικας: Επιλογή όλων

CREATE TABLE test(
	value varchar(50) NOT NULL,
	values text CHARACTER SET latin1 NOT NULL,
	UNIQUE KEY value (value)
)ENGINE=InnoDB;
είναι σωστό το
values text CHARACTER SET latin1 NOT NULL
δηλαδή θα έχει το values latin1
και το value utf8_general_ci?

sibas
Honorary Member
Δημοσιεύσεις: 1853
Εγγραφή: 21 Φεβ 2003 01:21
Τοποθεσία: Μια εδώ.. Μια εκεί.. Σήμερα είμαι εδώ!!!
Επικοινωνία:

είναι σωστό αυτό το CHARACTER SET?

Δημοσίευση από sibas » 18 Οκτ 2016 16:32

Τελικά έπεσα σε αλλο πρόβλημα, με την utf8_general_ci δεν μπορώ να κάνω select ανάμεσα στο ελληνικα με το ελληνικά ή το Ελληνικά

ποια προτείνετε για collation?

utf8_unicode_ci, utf8_bin, κάποια άλλη?

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

είναι σωστό αυτό το CHARACTER SET?

Δημοσίευση από korgr » 18 Οκτ 2016 16:56

Το

Κώδικας: Επιλογή όλων

select 'field` from `table` where `field` like '%Ελληνικά%'
θα επιστρέψει και το «Ελληνικά» και το «ελληνικά» και το «ελληνικα»

To

Κώδικας: Επιλογή όλων

select `field` from `table` where binary(`field`) like '%Ελληνικά%'
θα επιστρέψει μόνο αποτελέσματα που περιέχουν «Ελληνικά» (και όχι όσα περιέχουν «ελληνικά» ή «ελληνικα»)

sibas
Honorary Member
Δημοσιεύσεις: 1853
Εγγραφή: 21 Φεβ 2003 01:21
Τοποθεσία: Μια εδώ.. Μια εκεί.. Σήμερα είμαι εδώ!!!
Επικοινωνία:

είναι σωστό αυτό το CHARACTER SET?

Δημοσίευση από sibas » 19 Οκτ 2016 09:57

Thanks korgr, δεν το γνώριζα το binary, δηλαδή δεν χρειάζεται να αλλάξω collation για το συγκεκριμένο table!

sibas
Honorary Member
Δημοσιεύσεις: 1853
Εγγραφή: 21 Φεβ 2003 01:21
Τοποθεσία: Μια εδώ.. Μια εκεί.. Σήμερα είμαι εδώ!!!
Επικοινωνία:

είναι σωστό αυτό το CHARACTER SET?

Δημοσίευση από sibas » 19 Οκτ 2016 11:00

Τελικά με το binary δεν μπόρεσα να βρω άκρη, λύθηκαν τα προβλήματα μου με
ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

είναι σωστό αυτό το CHARACTER SET?

Δημοσίευση από korgr » 20 Οκτ 2016 09:34

Απλά με το utf8_bin (binary default) κάνεις μεν τη δουλεια που θες αλλα νομιζω χανεις την ευελιξια για normal αναζητηση ελληνικων (normal ειναι να μην ξεχωριζει τονους, πεζοκεφαλαια κλπ)
Αν δεν το χρειαζεσαι καθολου ολα καλα :)

Απάντηση

Επιστροφή στο “MySQL”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης