Tôi có một trang web WordPress trên máy chủ WAMP địa phương của tôi . Nhưng khi tôi tải cơ sở dữ liệu của nó lên máy chủ trực tiếp, tôi gặp lỗi
#1273 – Unknown collation: ‘utf8mb4_unicode_520_ci’
Bất kỳ trợ giúp sẽ được đánh giá cao!
Tôi có một trang web WordPress trên máy chủ WAMP địa phương của tôi . Nhưng khi tôi tải cơ sở dữ liệu của nó lên máy chủ trực tiếp, tôi gặp lỗi
#1273 – Unknown collation: ‘utf8mb4_unicode_520_ci’
Bất kỳ trợ giúp sẽ được đánh giá cao!
Câu trả lời:
Bạn có thể giải quyết điều này bằng cách tìm
ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci;
trong .sql
tập tin của bạn và hoán đổi nó với
ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
COLLATION 'utf8_general_ci' is not valid for CHARACTER SET 'utf8mb4'
, tôi đã thay thế utf8mb4_unicode_520_ci
với utf8mb4_unicode_ci
và nó làm việc, như mỗi câu trả lời sabba của.
Tôi tin rằng lỗi này là do máy chủ cục bộ và máy chủ trực tiếp đang chạy các phiên bản khác nhau của MySQL. Để giải quyết điều này:
utf8mb4_unicode_520_ci
bằngutf8mb4_unicode_ci
Mong rằng sẽ giúp
utf8mb4_unicode_520_ci
có nhiều hỗ trợ tốt hơn UTF-8 hơn utf8mb4_unicode_ci
! Sốt: mysql.rjweb.org/doc.php/charcoll#best_practice với làm rõ hình ảnh minh 520_ci là vượt trội ở đây: mysql.rjweb.org/utf8_collations.html
Trong trường hợp của tôi, hóa ra
máy chủ mới của tôi đang chạy MySQL 5.5
,
máy chủ cũ đang chạy MySQL 5.6
.
Vì vậy, tôi đã gặp lỗi này khi cố gắng nhập.sql
tệp tôi đã xuất từ máy chủ cũ của mình.
MySQL 5.5 không hỗ trợ utf8mb4_unicode_520_ci
, nhưng
MySQL 5.6 thì có.
Cập nhật lên MySQL 5.6
máy chủ mới giải quyết đối chiếu lỗi!
Nếu bạn muốn giữ lại MySQL 5.5, bạn có thể:
- tạo một bản sao của .sql
tệp đã xuất của bạn
- thay thế các trường hợp utf8mb4unicode520_ci
và utf8mb4_unicode_520_ci
... bằng utf8mb4_unicode_ci
- nhập .sql
tệp đã cập nhật của bạn .
Mở tệp sql trong trình soạn thảo văn bản của bạn;
1. Tìm kiếm: utf8mb4_unicode_ci Thay thế: utf8_general_ci (Thay thế tất cả)
2. Tìm kiếm: utf8mb4_unicode_520_ci Thay thế: utf8_general_ci (Thay thế tất cả)
3. Tìm kiếm: utf8mb4 Thay thế: utf8 (Thay thế tất cả)
Lưu và tải lên!
chỉ cần xóa "520_"
utf8mb4_unicode_520_ci
→utf8mb4_unicode_ci
Tôi vừa mở tệp dump.sql trong Notepad ++ và nhấn CTRL + H để tìm và thay thế chuỗi " utf8mb4_0900_ai_ci " và thay thế bằng " utf8mb4_general_ci ". Liên kết nguồn https://www.freakyjolly.com/resolve-when-i-faces-1273-unknown-collation-utf8mb4_0900_ai_ci-error/
tìm và thay thế:
utf8mb4_unicode_520_ci
với
utf8_general_ci
trong toàn bộ tập tin sql
general
và utf8
là cả hai bước lùi.
Đến bữa tiệc muộn, nhưng trong trường hợp điều này xảy ra với WORDPRESS
cài đặt:
#1273 - Unknown collation: 'utf8mb4_unicode_520_ci
Trong phpmyadmin, dưới export method
>Format-specific options
(xuất tùy chỉnh)
Đặt thành: MYSQL40
Nếu bạn sẽ cố gắng nhập ngay bây giờ, bây giờ bạn có thể nhận được một thông báo lỗi khác:
1064 - You have an error in your SQL syntax; .....
Đó là bởi vì TYPE
Tùy chọn cũ hơn đồng nghĩa vớiENGINE
đã bị xóa trong MySQL 5.5.
Mở của bạn .sql
tệp , tìm kiếm và thay thế tất cả các trường hợp
từ TYPE=
đếnENGINE=
Bây giờ việc nhập khẩu sẽ diễn ra suôn sẻ.
Bắt lỗi đối chiếu # 1273 - Đối chiếu không xác định: 'utf8mb4_unicode_520_ci' là do sự khác biệt của phiên bản MySQL mà bạn xuất và máy chủ MySQL của chúng tôi nhập vào. Về cơ bản, thư viện Wordpress cho phiên bản mới hơn kiểm tra xem phiên bản SQL nào mà trang web của bạn đang chạy. Nếu nó sử dụng phiên bản MySQL 5.6 trở lên, thì nó giả sử sử dụng Thuật toán đối chiếu Unicode mới và được cải tiến (UCA) có tên là ut ut8mb4_unicode_520_ci. Điều này thật tuyệt vời trừ khi bạn kết thúc việc chuyển trang web WordPress của mình từ phiên bản MySQL 5.6 mới hơn sang phiên bản MySQL cũ hơn 5.6 trước.
Để giải quyết vấn đề này, bạn sẽ phải chỉnh sửa tệp xuất SQL của mình và thực hiện tìm kiếm và thay thế, thay đổi tất cả các phiên bản của 'utf8mb4_unicode_520_ci' thành 'utf8mb4_unicode_ci'. Hoặc làm theo các bước dưới đây nếu bạn có PHPMyAdmin:
sed -i 's/utf8mb4_unicode_520_ci/utf8mb4_unicode_ci/g' file.sql