Új hozzászólás Aktív témák
-
Taci
addikt
válasz
pelyib #20545 üzenetére
Köszönöm a részletes választ!
Így már sokkal jobban rálátok erre az egész collation-dologra, ez az _ai _as, _ci _cs magyarázat különösen hasznos volt.
És így, hogy jobban rálátok, még több kérdés merült fel...Megtaláltam én is végül ezt a választ, amiből idéztél, és én is azt találtam, hogy ha úgy akarok keresni, hogy meg tudjam különböztetni az ékezetes betűket a nem ékezetesektől (_as), de nem számít, hogy kis- vagy nagybetű-e (_ci), akkor
utf8mb4_0900_as_ci
-t kellene használnom, ami viszont 8.0-tól elérhető csak.utf8mb4_bin
-nel igazából többet vesztenék a keresésen, mint nyernék, mert ez ugye binárisan hasonlít, tehát a kis- és nagybetűk meg lesznek különböztetve, ami egy keresésben nem szerencsés.Így a következő kérdéseim lennének:
1)
PHPMyAdmin-ban azt látom, hogy ami táblákat én csináltam, az mindutf8_unicode_ci
collation-nel készült, amit pedig a WordPress csinált, az mindutf8mb4_unicode_ci
.Így, hogy igazából a fentiek (és az egész dolog túlontúl bonyolult mivolta) miatt inkább lemondok arról, hogy megkülönböztessem a keresésben az ékezetes betűket az ékezet nélküliektől, van bármi értelme
utf8
-ról átállnomutf8mb4
-re?
Azon kívül, hogy emoji-téren future proof lennék.2)
Vagy inkább azt szeretném tudni, hogy elronthatok vele valamit? Ami kód működik, az most szépen működik. Elromolhat valami ezzel az átállással?
Pl. már nem is emlékszem hol olvastam, de azt írták, hogy ennél a típusú váltásnál vigyázni kell rá, hogy a mező karakterszáma mondjuk 255-re volt beállítva utf8-nál, akkor ez valójában kevesebb lesz utf8mb4-nél a 3 vs 4 byte miatt.Illetve itt írnak pár lehetőséget, hogy mi sülhet (és a témaindítónak sült is el) rosszul:
[link]3)
Ha jól látom, akkor ahhoz, hogy megfelelően hozzam létre a táblákat, ezeket kell csinálnom PHP-ben, ami intézi az SQL-es műveleteket:
-$conn->set_charset("utf8mb4");
(most utf8 van)
- a mezőre vonatkozó részekhez (VARCHAR):CHARACTER SET utf8mb4
- táblára vonatkozó részekhez:CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
(a _bin helyett ez jobb lesz a keresés miatt)Jól látom, hogy ezekre kell figyelnem? Vagy van még valami?
Köszi!
Új hozzászólás Aktív témák
- Dell 5050 i5 7500 8Gb RAM 128Gb SSD
- Gamer PC- Számítógép! Csere-Beszámítás! I3 10100F / RTX 2060 / 32GB DDR4 / 500GB SSD
- GYÖNYÖRŰ iPhone 13 Pro 256GB Graphite -1 ÉV GARANCIA - Kártyafüggetlen, MS3074, 100% Akkumulátor
- BESZÁMÍTÁS! Gigabyte H510M i5 10400F 16GB DDR4 512GB SSD 1TB HDD RX 6600 8GB Zalman S2 TG EVGA 600W
- GYÖNYÖRŰ iPhone 13 Pro 128GB Graphite -1 ÉV GARANCIA - Kártyafüggetlen, MS3082
Állásajánlatok
Cég: FOTC
Város: Budapest