Em đang làm một form tìm kiếm, cho em hỏi làm sao để nhận giá trị khi người dùng nhập tiếng việt có dấu? Em dùng LIKE khi nhập tiếng việt có dấu thì báo lỗi.
Và làm sao tìm đc giá trị trong mysql khi mà nhập những từ không đúng thứ tự?
Ví dụ như trong mysql có Lê Tuấn Anh, mà khi em nhập vào Lê Anh thì không tìm thấy.
Làm sao form tìm kiếm nhận giá trị dạng tiếng việt có dấu?
cái này chỉ cần trong MySQL chỉnh Unicode UTF-8 là được, và server apache phải nhận request và decode là UTF-8 nếu không sẽ nhận request lỗi.
Em vẫn chưa hiểu lắm, anh nói kỹ hơn được không ạ. Với lại làm sao để tìm đc dữ liệu khi mà trong Mysql có một chuỗi là “Hỏi đáp về PHP và MYSQL cho người mới bắt đầu” mà khi người dùng nhập vào form là" PHP MYSQL người mới" thì nó vẫn tìm đc ra chuỗi trên hả anh?
Không bạn, cái này thuộc Search engine rồi, MySQL chỉ làm được ví dụ “Hỏi đáp về PHP và MYSQL cho người mới bắt đầu” thì tìm các cụm từ liên tiếp mà nó có thì được vd như “PHP và MYSQL”, “người mới bắt đầu”, “MYSQL cho người mới bắt đầu”
bạn có thể dùng
SELECT *
FORM `table`
WHERE
`column` LIKE '%từ khóa%'
LIMIT 1
Để mà search được 1 cách chuyên nghiệp thì nên dùng các search engine như: Sphinx search, Elastic search, …
Còn nếu chỉ dùng query thường thì phải viết thêm hàm convert ký tự không dấu, hoa thường (nếu muốn search tiếng việt, tiếng anh lẫn lộn như Google) hoặc tách từ trong keyword ra để search. Ví dụ:
SELECT * FROM `table`
WHERE `column` LIKE `%từ%` OR `column` LIKE `%khóa%`