Tôi có một ứng dụng Web Java chạy trên GlassFish 3 và JPA (EclipseLink) trên MySQL. Vấn đề tôi phải đối mặt là nếu tôi đang lưu các thực thể vào cơ sở dữ liệu với phương thức update()
, các trường String
mất tính toàn vẹn; '?'
được hiển thị thay vì một số ký tự.Mã hóa ký tự JDBC
Máy chủ, trang và cơ sở dữ liệu được định cấu hình để sử dụng UTF-8
.
Sau khi tôi đăng dữ liệu biểu mẫu, trang tiếp theo hiển thị dữ liệu chính xác. Hơn nữa nó "có vẻ" trong NetBeans gỡ lỗi rằng tài sản String
của thực thể hiện tại lưu trữ giá trị chính xác quá. Dunno nếu gỡ lỗi NetBeans có thể được tin cậy; có thể là nó giải mã chính xác, tuy nhiên nó không chính xác.
Cơ sở dữ liệu và chuỗi kết nối nào bạn đang sử dụng? –
Tôi đang sử dụng MySQL và chuỗi kết nối là: 'jdbc: mysql: // localhost: 3306/administer' –
Một liên kết dành cho những người đang tìm cách sử dụng utf8mb4: http://dev.mysql.com/doc/connector -j/vi/connector-j-reference-charsets.html –