09/10/2018, 23:59

ODRER By... và ký tự "Đ" trong MySQL

Hình như MySQL không nhận diện được chính xác các mẫu tự chữ cái của Việt ngữ. Mặc dù không có vấn đề trong hiển thị nội dung và so khớp từ khóa tìm kiếm, nhưng khi sắp xếp một loạt record theo trật tự alphabet thì nó đặt "Đ" lên trước ABC...

Các bác có cách nào giải quyết vấn đề này không ?
Hero_vanchien viết 02:05 ngày 10/10/2018
Có phải sacroyant này cũng là sacroyant trong diendantinhoc.org không nhỉ??!!

Theo mình biết thì version của MySQL hiện tại chữa hỗ trợ toàn diện cho Unicode. có thể nhận thấy điều đó qua vấn đề mà pác chủ topic đã nêu.

Cách giải quyết vấn đề này theo mình nghĩ thì không phải là không có, tuy nhiên sẽ hơi lâu và mất nhiều resource của server.

Cách mình nghĩ đó là: Ta sẽ lập 1 array thứ tự của các chữ cái đúng theo Alphabet (ta gọi nó là array1), vẫn thực hiện câu query như hiện tại sau khi có được dữ liệu từ MySQL ta sẽ trích ra ký tự đầu tiện (Hoặc ký tự ở vị trí nào đó tùy yêu cầu) của trường ta cần sắp sếp vào một array khác (ta gọi là array2) sau đó so sánh array2 với array1 để sắp sếp lại array2. Từ đó ta có thể dùng mutilsort trong php để chuẩn hóa sắp xếp cho dữ liệu ta cần trả về.....

Mong mọi người góp ý.
sacroyant viết 02:09 ngày 10/10/2018
Cảm ơn bác, luôn chỉ có 1 Sacroyant là em thôi mà

Cái vụ sort này nếu phải làm như bác chỉ dẫn thì phiền phức quá bác nhỉ ! Chắc em phải làm thử 1 cái. Nhưng cũng để chờ coi có ý kiến nào khác nữa không
3do viết 02:04 ngày 10/10/2018
mysql không hỗ trợ collation cho tiếng Việt, cho nên sẽ bị vấn đề đó. Một cách giải quyết triệt để là sử dụng bản patch trong ticket yêu cầu collation cho tiếng Việt của anh Quân.
caibang viết 02:16 ngày 10/10/2018
có hỗ trợ TV nhưng chưa hoàn chỉnh , chứ không phải là không hỗ trợ
sacroyant viết 02:13 ngày 10/10/2018
Được gửi bởi 3do
mysql không hỗ trợ collation cho tiếng Việt, cho nên sẽ bị vấn đề đó. Một cách giải quyết triệt để là sử dụng bản patch trong ticket yêu cầu collation cho tiếng Việt của anh Quân.
Bác vui lòng cho em thêm thông tin về bản patch đó chứ ?
3do viết 02:00 ngày 10/10/2018
http://bugs.mysql.com/bug.php?id=4745

http://bugs.mysql.com/file.php?id=6814
Bài liên quan
0