Vì MySQL 5.1 không hỗ trợ chuỗi UTF-8 4 byte, tôi cần phải thay thế/thả chuỗi 4 byte trong các chuỗi này.Làm thế nào để thay thế/loại bỏ 4 (+) - byte ký tự từ một chuỗi UTF-8 trong Java?
Tôi đang tìm một cách rõ ràng để thay thế các ký tự này.
Thư viện Apache đang thay thế các ký tự có dấu hỏi là tốt cho trường hợp này, mặc dù ASCII tương đương sẽ đẹp hơn, tất nhiên.
N.B. Đầu vào là từ các nguồn bên ngoài (tên e-mail) và nâng cấp cơ sở dữ liệu không phải là một giải pháp tại thời điểm này.
Bạn đang đùa. MySQL vẫn không hỗ trợ Unicode trong ngày và tuổi này? Điều đó không thể chấp nhận được. Giả sử bạn hỗ trợ Unicode khi bạn chỉ có thể xử lý các chuỗi UTF-8 1-, 2 hoặc 3 byte chỉ là lời nói dối lớn khi nói rằng bạn hỗ trợ Unicode khi bạn chỉ hỗ trợ chuỗi ASCII 1 byte. Bạn hỗ trợ bất kỳ điểm mã Unicode hợp pháp nào hoặc bạn không hỗ trợ Unicode. Đó là một điều nhị phân. Âm thanh như MySQL không hỗ trợ Unicode. Hãy cho tôi biết đây là một trò đùa. – tchrist
@tchrist: MySQL 5.5.3 và hỗ trợ đúng UTF-8 thông qua bộ ký tự "utf8mb4" "mới (http://dev.mysql.com/doc/refman/5.5/en/charset-unicode.html) . Tuy nhiên, bộ ký tự "utf8" "chỉ hỗ trợ tối đa 3 byte byte UTF-8 ký tự, báo cáo để ngăn chặn các vấn đề sao chép giữa các phiên bản MySQL khác nhau. "utf8" có thể thay đổi thành bí danh cho "utf8mb4" trong bản phát hành MySQL trong tương lai. – ninjalj
Tương tự như [câu hỏi này] (http://stackoverflow.com/questions/8491431/remove-4-byte-characters-from-a-utf-8-string) ngoại trừ nó đang yêu cầu một giải pháp trong PHP thay vì Java. Các chuỗi –