Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Encoding Karakter Cina dari input JSF

Asalkan Anda memang menggunakan Facelets (yang menggunakan UTF-8 secara default) dan tidak menggunakan PrimeFaces ajax (yang diketahui mengacaukan penyandian badan permintaan ), masalah Anda memiliki 2 penyebab:

  1. Encoding karakter driver JDBC MySQL tidak disetel ke UTF-8. Hal ini menyebabkan karakter kacau di DB.

  2. Encoding karakter konsol Eclipse tidak disetel ke UTF-8. Ini menyebabkan karakter kacau di System.out .

Solusinya adalah:

  1. Tambahkan useUnicode=yes dan characterEncoding=UTF-8 parameter ke koneksi JDBC. Anda dapat menentukannya sebagai string kueri di URL JDBC

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

    atau sebagai properti koneksi di sumber data JDBC, dengan cara yang sama persis seperti yang Anda tentukan nama pengguna, kata sandi, dll.

  2. Beri tahu Eclipse untuk menggunakan UTF-8 sebagai encoding konsol dengan Window> Preferences> General> Workspace> Text File Encoding :

Lihat juga:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. dapatkah saya mereset bidang auto_increment di mySql?

  2. Kesalahan menyetel nilai properti; pengecualian bersarang adalah org.springframework.beans.NotWritablePropertyException:

  3. Bagaimana cara mengisyaratkan indeks untuk digunakan dalam kueri pemilihan MySQL?

  4. Tetapkan alias secara dinamis ke semua nama bidang dalam kueri msyql

  5. mengatur gumpalan ke nol menggunakan PreparedStatement