Chào các bạn,
Trong bài viết này Kỹ thuật sẽ hướng dẫn các bạn xử lý trường hợp xảy ra trên hosting khi import database xuất hiện thông báo lỗi:#1273 - Unknown collation: 'utf8mb4_unicode_520_ci'
Lỗi như trên là vì phiên bản MySQL hiện tại mà hosting đang chạy không hỗ trợ cho bảng mã utf8mb4_unicode_520_ci.
Cũng có lúc bạn sẽ gặp lỗi:#1273 - Unknown collation: 'utf8mb4_unicode_ci'
với lý do tương tự.
Bạn có thể tạo một file info.php để kiểm tra phiên bản MySQL đang chạy trên hosting của mình là gì để biết phiên bản đó có hỗ trợ bảng mã đó hay không.
<?php phpinfo();?>
Theo như hình phiên bản MySQL mà hosting của Kỹ thuật đang dùng là 5.5.36. Với phiên bản MySQL này thì không hỗ trợ bảng mã utf8mb4_unicode_520_ci nhưng có hỗ trợ bảng mã utf8mb4_unicode_ci.
Vậy làm cách nào để bạn import database sử dụng bảng mã utf8mb4_unicode_520_ci lên hosting đang chạy phiên bản MySQL 5.5.36?
Ta sẽ có 2 cách:
- Cách 1: Báo lại với nhà cung cấp dịch vụ của bạn yêu cầu họ nâng cấp phiên bản MySQL lên phiên bản 5.6 (phiên bản này có hỗ trợ bảng mã utf8mb4_unicode_520_ci)
- Cách 2: Chuyển đổi bảng mã utf8mb4_unicode_520_ci về các bảng mã mà phiên bản MySQL hiện tại bạn đang dùng có hỗ trợ.
Ở đây chúng ta sẽ không bàn đến cách 1, Kỹ thuật sẽ hướng dẫn các bạn làm cách 2.
Với cách 2, đầu tiên bạn sẽ cần cài đặt Notepad++ để mở file database lên thì mình mới có thể chỉnh sửa được bảng mã. Tải về file cài đặt Notepad++ tại đây.
Sau khi đã tải về và cài đặt Notepad++ trên máy tính cá nhân, bạn tiến hành mở file database lên bằng cách click chuột phải vào file và chọn Edit with Notepad++.
Mở file lên xong, bạn sẽ tìm đến một bảng (table) gần nhất sẽ thấy bảng đó dùng bảng mã utf8mb4_unicode_520_ci.
Giờ ta sẽ đổi toàn bộ bảng mã utf8mb4_unicode_520_ci thành utf8mb4_unicode_ci bằng cách dùng tính năng Replace của Notepad++.
Bạn nhấn tổ hợp phim Ctrl+H hoặc là chọn Search > Replace như hình dưới.
Có một toolbox sẽ xuất hiện giữa màn hình, bạn sẽ nhập utf8mb4_unicode_520_ci vào ô Find what, nhập utf8mb4_unicode_ci vào ô Replace with, sau đó nhấn Replace All.
Tiến hành lưu lại file này và import database lại là thành công.
Nếu các bạn gặp phải lỗi#1273 - Unknown collation: 'utf8mb4_unicode_ci'
hoặc lỗiYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '
thì đó là do phiên bản MySQL hiện tại không hỗ trợ, bạn nên đổi về lại utf8_unicode_ci với cách như trên nhé.
Chúc các bạn thành công!