Cách tìm kiếm tiếng việt có dấu trên sqlite

Chào mọi người, mình đang gặp vấn đề vê việc tìm kiếm trên cơ sở dũ liệu của android(sqlite). Cụ thể là mình cần search các body text chứa các text đầu vào mình nhập ở ô search. Nhưng khi mình sử dụng câu lệch sql để search như
Select *
From …
Where body like ‘%searchString%’
thì nó ra kết quả k mong đợi như search chữ ‘a’ thì các đoạn text chứa chữ ‘á’,‘â’,… sẽ không ra và ngược lại khi mình search chữ ‘á’ thì các đoạn text chứa chữ ‘a’,‘â’ sẽ không ra. Mình đã thử tìm kiếm trên google về vấn đề này nhưng các giải pháp đều không được. Mọi người ai đã từng giải quyết được vấn đề này giúp mình với. Thanks everyone!!!

Bạn tìm hiểu về convert case xem
Tài liệu của mysql

2 Likes

Cảm ơn bạn, mình đã đọc nhưng cách convert ra binary này là làm cho vd chữ a và chữ á khác hoàn toàn nhau. Mình muốn là khi search chữ a thì ra các đoạn text có cả chữ â, á, và ngược lại :((

Oh, mình không đọc kĩ.

Bạn thử làm theo 2 bài này xem:

3 Likes

vẫn không được bạn à, cách này chỉ được trường hợp search chữ a ra được đoạn text có chữ ‘á’ nhưng lại không ra được chữ â , ă và ngược lại thì k đúng :((

Giải pháp của tui là tạo thêm 1 column để chứa chuỗi ASCII hoàn toàn không dấu, chỉ dùng cho việc tìm kiếm như thế này.
Ví dụ: Column A chứa chuỗi: “Nguyễn Hải Sơn”. Column B sẽ là: “Nguyen Hai Son”. Thực hiện tìm kiếm trên column B.

1 Like

room gio hỗ trợ full text search rồi mà tìm ko dấu, có dấu thoải mái

2 Likes

có thể giúp mình chi tiết chỗ này được không bạn, mình đang dùng Room
. dữ liệu trong DB: có dấu
. searchKey: không dấu

-> kết quả mong muốn: những rows dữ liệu có dấu trong DB chứa searchKey

cám ơn bạn nhiều

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?