Tôi có một cơ sở dữ liệu là uft8_general_ci, chỉ có vấn đề là cho đến thời điểm này một ứng dụng được mã hóa bởi một nhà phát triển trước đó dường như đã làm việc với cơ sở dữ liệu trong latin-1.latin-1 to utf-8 cơ sở dữ liệu
Tôi đã thay đổi cách ứng dụng sử dụng cơ sở dữ liệu và giờ đây có thể lưu trữ một âm sắc thay vì ü. Vấn đề bây giờ là ứng dụng đọc dữ liệu đã tồn tại trước đó từ cơ sở dữ liệu như (ví dụ) 'Süddeutsche' thay vì 'Süddeutsche'.
Có cách nào để chuyển đổi dữ liệu bên trong cơ sở dữ liệu từ định dạng này sang định dạng khác không?
Trân
Edit:
ALTER TABLE TableName MODIFY ColumnName ColumnType CHARACTER SET latin1;
ALTER TABLE TableName MODIFY ColumnName ColumnType CHARACTER SET binary;
ALTER TABLE TableName MODIFY ColumnName ColumnType CHARACTER SET utf8;
này đã làm việc cho tôi.
bản sao có thể có của [Cách sửa các chuỗi UTF-8 được mã hóa kép nằm trong các trường MySQL utf8_general_ci?] (Http://stackoverflow.com/questions/5951871/how-to-correct-double-encoded-utf-8 -strings-sitting-in-mysql-utf8-general-ci-fie) –
Cảm ơn bạn, không hoàn toàn giống nhau nhưng câu trả lời hoạt động! – mr12086
Sau một số thử nghiệm nếu tôi chạy 2x này trên một số cột của tôi, dữ liệu sẽ bị hỏng - tất cả dữ liệu sau khi một ký tự/điểm cụ thể bị mất. Điều này đơn giản chỉ vì tôi đã chạy lệnh 2x, hoặc có sự thay đổi rất nhiều dữ liệu của tôi trên toàn bộ cơ sở dữ liệu? – mr12086