Làm cách nào tôi có thể thực hiện tìm kiếm utf8 nhạy cảm nhưng không phân biệt chữ hoa chữ thường trong mysql? Utf8_bin phân biệt chữ hoa chữ thường và utf8_general_ci không nhạy cảm.có thể có dấu nhạy cảm và phân biệt chữ hoa chữ thường utf8 trong mysql không?
Trả lời
Có vẻ như không phải là một vì case sensitivity is tough to do in Unicode.
Có một collation utf8_general_cs
nhưng có vẻ như là thử nghiệm và theo this bug report, không thực hiện những gì được mong đợi khi sử dụng LIKE.
Nếu dữ liệu của bạn chỉ bao gồm các dấu mũ phía tây (ví dụ: umlauts được bao gồm trong ISO-8859-1), bạn có thể đối chiếu hoạt động tìm kiếm của mình thành latin1_german2_ci
hoặc tạo cột tìm kiếm riêng biệt. nhạy cảm với giọng theo this page; latin1_general_ci
cũng có thể là tốt, tôi không biết và không thể kiểm tra ngay bây giờ).
Nếu bạn muốn khác nhau "phê" từ "quán cà phê" Bạn có thể sử dụng:
Select word from table_words WHERE Hex(word) LIKE Hex("café");
Bằng cách này nó sẽ trở lại 'phê'.
Nếu không, nếu bạn sử dụng:
Select word from table_words WHERE Hex(word) LIKE Hex("cafe");
nó sẽ trở lại quán cà phê. Tôi đang sử dụng collation latin1_german2_ci.
Bạn có thể sử dụng "hex
" để làm cho tìm kiếm có dấu trọng âm. Sau đó, chỉ cần thêm lcase để làm cho nó không phân biệt chữ hoa chữ thường. Vì vậy, sẽ cung cấp cho:
SELECT name FROM people WHERE HEX(LCASE(name)) = HEX(LCASE("René"))
Bạn ném tất cả các chỉ mục của bạn ra khỏi cửa sổ như thế. Nếu bạn muốn tránh việc phải làm một bảng quét toàn bộ và bạn có một chỉ mục trên "tên", cũng tìm kiếm những điều tương tự mà không có hex và lcase:
SELECT name FROM people WHERE name = "René" and HEX(LCASE(name)) = HEX(LCASE("René"))
Bằng cách này, chỉ số về "name
" sẽ được sử dụng để tìm ví dụ chỉ các hàng "René
" và "Rene" và sau đó so sánh với "hex
" chỉ cần được thực hiện trên hai hàng đó thay vì trên bảng đầy đủ.
Nếu bạn muốn gập chữ hoa chữ thường, nhưng độ nhạy âm, vui lòng gửi yêu cầu tại http://bugs.mysql.com. –
- 1. Chỉ số UNIQUE có phân biệt chữ hoa chữ thường trong MySQL không?
- 2. Tên bảng có phân biệt chữ hoa chữ thường không?
- 3. XML có phân biệt chữ hoa chữ thường không?
- 4. Java có phân biệt chữ hoa chữ thường không?
- 5. OData và phân biệt chữ hoa chữ thường
- 6. Không phân biệt chữ hoa chữ thường không hoạt động
- 7. Biến Bash: phân biệt chữ hoa chữ thường hay không?
- 8. không phân biệt chữ hoa chữ thường số
- 9. Chọn chuỗi và phân biệt chữ hoa chữ thường
- 10. DISTINCT MySQL phân biệt chữ hoa chữ thường
- 11. Không phân biệt chữ hoa chữ thường với Dynamic Linq
- 12. Tên giao thức trong các URL có phân biệt chữ hoa chữ thường không?
- 13. Tôi có thể đặt Subversion + TortoiseSVN không phân biệt chữ hoa chữ thường cho Windows không?
- 14. Việc thay đổi collation SQL Server thành trường hợp không nhạy cảm với phân biệt chữ hoa chữ thường?
- 15. Có toán tử đẳng số không phân biệt chữ hoa chữ thường không?
- 16. Phân loại không nhạy cảm trong MySQL
- 17. không phân biệt chữ hoa chữ thường trong NSArray chứaObject:
- 18. Khuôn khổ thực thể và tìm kiếm chuỗi không phân biệt chữ hoa chữ thường
- 19. Có cách nào trong Oracle để tạo cột không phân biệt chữ hoa chữ thường không?
- 20. Loại.Không phân biệt chữ hoa chữ thường - WinRT
- 21. JavaScript: tìm kiếm phân biệt chữ hoa chữ thường
- 22. Bạn có thể tạo thành một phần không phân biệt chữ hoa chữ thường không?
- 23. Có thể thực hiện tìm kiếm phân biệt chữ hoa chữ thường trong OpenGrok không?
- 24. GSON deserialize theo cách phân biệt chữ hoa chữ thường
- 25. Sắp xếp danh sách các bộ dữ liệu không có phân biệt chữ hoa chữ thường
- 26. Các tiêu đề HTTP (Loại nội dung, & c.) Có phân biệt chữ hoa chữ thường không?
- 27. Trường hợp Rspec không phân biệt chữ hoa chữ thường
- 28. URL không phân biệt chữ hoa chữ thường với mod_rewrite
- 29. Tên tệp không phân biệt chữ hoa chữ thường?
- 30. GetElementsByTagName không phân biệt chữ hoa chữ thường?
Không phải hôm nay ... Nhưng, nếu bạn muốn gấp nếp gấp, nhưng độ nhạy cảm với giọng, vui lòng gửi yêu cầu tại http://bugs.mysql.com. –