file.txt được lưu trong ISO-8859-1 hoặc Windows-1252 (hai tệp này rất giống nhau) và được MySQL hiểu là UTF-8. Chúng không tương thích.
Làm sao tôi biết được?
- Xem điểm 3:tệp hiển thị chính xác khi được hiểu là ISO-8859-1 hoặc Windows-1252.
- Xem điểm 1:character_set_database:utf8
Giải pháp:chuyển đổi tệp thành UTF-8 hoặc yêu cầu MySQL diễn giải nó thành ISO-8859-1 hoặc Windows-1252.
Thông tin cơ bản:các ký tự bạn cung cấp (ã, v.v.) là giá trị byte đơn trong windows-1252 và các byte này là giá trị không hợp lệ trong UTF-8, do đó tạo ra dấu '?' (Ký tự thay thế unicode).
Đoạn mã từ Tài liệu MySQL :