0
Lỗi search like trong Laravel (search chữ d và đ)
Chào các bạn, mình đang gặp lỗi khi search like trong Laravel Mysql. Trong DB mình lưu địa chỉ là: đà nẵng .Khi mình search với keyword là đa nang, đà năng, đa nâng thì vẫn ra kết quả nhưng khi search với keyword là dà nẵng, da nâng v.v... thì không ra. Mình nhận ra vấn đề là ở chữ d và chữ đ. Mọi người có ai gặp lỗi này không. Mong cho mình lời khuyên. Cảm ơn!
Thêm một bình luận
2 CÂU TRẢ LỜI
+2
Bạn thử sử dụng Vietnamese Collation xem sao
http://vietunicode.sourceforge.net/howto/vietcollationmysql.html
+1
Thực tế thì việc sử dụng like trong MySQL để làm chức năng tìm kiếm cho tiếng Việt không được hiệu quả. Có hai cách đơn giản nhất mình có thể giúp bạn:
- Cách 1: Bạn có thể chuyển từ khóa tìm kiếm về dạng tiếng Việt không dấu rồi truy vấn dựa trên từ khóa đó. Cách này hơi tù. Không nên dùng.
- Cách 2: Bạn có thể tìm hiểu và sử dụng full-text search trong MySQL để tìm kiếm. Việc implement full-text search cũng khá đơn giản. Đặc biệt nó có thể giải quyết được vấn đề search tiếng Việt, tốc độ nhanh. Mình nghĩ bạn nên dùng cách này. Bạn có thể đọc thêm về Full text search trên Viblo tại: https://viblo.asia/tags/fulltext-search.