Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Mã hóa ký tự Trung Quốc của đầu vào JSF

Với điều kiện là bạn thực sự đang sử dụng Khuôn mặt (sử dụng UTF-8 theo mặc định) và không sử dụng PrimeFaces ajax ( được biết là gây nhầm lẫn mã hóa nội dung yêu cầu ), vấn đề của bạn có 2 nguyên nhân:

  1. Mã hóa ký tự trình điều khiển JDBC của MySQL không được đặt thành UTF-8. Điều này gây ra các ký tự bị cắt xén trong DB.

  2. Mã hóa ký tự bảng điều khiển Eclipse chưa được đặt thành UTF-8. Điều này gây ra các ký tự bị cắt xén trong System.out .

Các giải pháp là:

  1. Thêm useUnicode=yescharacterEncoding=UTF-8 tham số cho kết nối JDBC. Bạn có thể chỉ định nó dưới dạng chuỗi truy vấn trong URL JDBC

    jdbc:mysql://hostname:3306/db_name?useUnicode=yes&characterEncoding=UTF-8
    

    hoặc dưới dạng thuộc tính kết nối trong nguồn dữ liệu JDBC, giống hệt như cách bạn đã chỉ định tên người dùng, mật khẩu, v.v.

  2. Yêu cầu Eclipse sử dụng UTF-8 làm mã hóa bảng điều khiển bằng cách Cửa sổ> Tùy chọn> Chung> Không gian làm việc> Mã hóa tệp văn bản :

Xem thêm:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Muốn giới hạn giá trị của một trường MySQL trong phạm vi cụ thể (Giá trị thập phân)

  2. Cách đọc tệp nhật ký nhị phân MySQL (BinLog) với mysqlbinlog

  3. điền hai trình quay từ cơ sở dữ liệu mysql phụ thuộc vào nhau

  4. Có cách nào đơn giản để chuyển đổi dữ liệu MySQL thành Title Case không?

  5. Truy vấn MySQL để chọn kết quả có tăng tự động dưới dạng cột mới được thêm vào kết quả