tôi đang làm một xuất khẩu từ dòng lệnh trên ms-dos với mysqldump:mysqldump từ Powershell và Windows mã hóa
& mysqldump -u root -p --default-character-set=utf8 -W -B dbname
> C:\mysql_backup.sql
cơ sở dữ liệu của tôi/bảng được mã hóa với UTF-8 và tôi chỉ định bảng mã tương tự khi tôi đã đổ. Nhưng khi tôi mở tệp bằng Notepad ++ hoặc Scite tôi thấy mã hóa UTF-16 (UCS-2). Nếu tôi không chuyển đổi tệp có biểu tượngv thành UTF-8 trước khi chạy nhập, tôi gặp lỗi.
Dường như MS-DOS/CMD.exe đang chuyển hướng theo mặc định với UTF-16. Tôi có thể thay đổi điều này không?
Lưu ý phụ: Tôi sử dụng Powershell để gọi mysqldump.
CẬP NHẬT: có vẻ như nó chỉ xảy ra khi gọi mysqldump từ Powershell. Tôi thay đổi dòng lệnh bằng lệnh tôi sử dụng trong tập lệnh PS
Tôi chưa bao giờ gặp sự cố này và tôi sử dụng cùng một cú pháp. Đây có thể là Powershell cụ thể không? Bạn có chắc chắn 100% là UTF-16 không? –
Bạn đúng Tôi chỉ thực thi lệnh trên cùng một máy chủ và tệp của tôi là một tệp UTF-8. Tôi sẽ thay đổi câu hỏi. Cám ơn! – MatthieuGD
Ở đây có vẻ là một cách giải quyết (tìm kiếm "UTF-16"): http://xahlee.org/powershell/PowerShell_for_unixer.html –