Java có khả năng lưu trữ TẤT CẢ văn bản Unicode hợp lệ. Nó sử dụng UTF-16 nội bộ.
Nếu bạn định cấu hình toàn bộ đường dẫn dữ liệu một cách chính xác, tất cả văn bản sẽ được giữ nguyên. Bạn cần đảm bảo:
- Chuỗi chính xác đến được Java (trong trường hợp ứng dụng web, mã hóa ký tự của biểu mẫu đang được gửi).
- Java biết nó phải nói chuyện với cơ sở dữ liệu trong UTF-8 và cơ sở dữ liệu biết nó sẽ mong đợi UTF-8 thông qua kết nối. Bạn đảm bảo điều này khi thiết lập kết nối cơ sở dữ liệu.
- Dữ liệu được lưu trữ dưới dạng UTF-8 trong cơ sở dữ liệu.
Lưu ý rằng [tài liệu cho MySQL] tuyên bố UTF-8 không có khả năng lưu trữ các ký tự bên ngoài Mặt phẳng Đa ngôn ngữ Cơ bản (tất cả các ký tự "bình thường" đều nằm trong BMP). Bản thân UTF-8 hoàn toàn có khả năng lưu trữ tất cả các ký tự unicode và cơ sở dữ liệu cũng có thể mã hóa các ký tự này.
Bản thân Java cũng tốt - chỉ cần nhớ một số ký tự unicode hiếm thực sự là hai ký tự (được gọi là cặp thay thế ) trong Java.