Bạn có thể thay đổi đối chiếu trong thời gian chạy trong truy vấn sql,
...where title like '%torun%' collate utf8_general_ci
nhưng hãy lưu ý rằng việc thay đổi đối chiếu nhanh chóng trong thời gian chạy sẽ loại bỏ khả năng mysql sử dụng chỉ mục, vì vậy hiệu suất trên các bảng lớn có thể rất tệ.
Hoặc, bạn có thể sao chép cột này sang một cột khác, chẳng hạn như searchable_title
, nhưng thay đổi đối chiếu trên đó. Việc thực hiện loại công cụ này thực sự phổ biến, nơi bạn sao chép dữ liệu nhưng có nó ở một số dạng hơi khác được tối ưu hóa cho một số khối lượng công việc / mục đích cụ thể. Bạn có thể sử dụng trình kích hoạt như một cách hay để giữ cho các cột trùng lặp được đồng bộ hóa. Phương pháp này có khả năng hoạt động tốt, nếu được lập chỉ mục.
Lưu ý - Đảm bảo rằng db của bạn thực sự có các ký tự đó chứ không phải thực thể html. Ngoài ra, bộ ký tự của kết nối của bạn cũng quan trọng. Ở trên giả định rằng nó được đặt thành utf8, chẳng hạn như qua set tên
như set names utf8
Nếu không, bạn cần có người giới thiệu cho giá trị chữ
...where title like _utf8'%torun%' collate utf8_general_ci
và tất nhiên, giá trị trong các dấu ngoặc kép thực sự phải được mã hóa utf8, ngay cả khi phần còn lại của truy vấn sql không phải.