Văn bản của bạn đã được mã hóa thành UTF-8 và sau đó được giải mã lại, do nhầm lẫn, là Mac Roman .
Bạn sẽ không thể sửa lỗi này bên trong cơ sở dữ liệu, vì MySQL không biết mã hóa Mac Roman. Bạn có thể viết một tập lệnh để đi từng hàng của mỗi bảng bị ảnh hưởng và sửa văn bản bằng cách đảo ngược chu kỳ mã hóa / giải mã. Python là một khả năng, có một loạt các mã hóa tốt:
>>> print u'é'.encode('macroman').decode('utf-8')
é
>>> print u'ö'.encode('macroman').decode('utf-8')
ö
>>> print u'í'.encode('macroman').decode('utf-8')
í
Ngoài ra, nếu không có nội dung không phải ASCII nào không bị ảnh hưởng bởi sự cố này, bạn có thể thử sử dụng mysqladmin
để xuất một kết xuất SQL, sau đó chuyển đổi tất cả cùng một lúc, bằng cách sử dụng một tập lệnh như trên hoặc, nếu bạn có một trình soạn thảo văn bản (có lẽ là trên Mac) có thể làm điều đó, hãy tải tập lệnh dưới dạng UTF-8 rồi lưu nó dưới dạng Mac Roman. Cuối cùng nhập lại kết xuất bằng mysql < dump.sql
.