Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Kodowanie znaków chińskich na wejściu JSF

Pod warunkiem, że rzeczywiście używasz Facelets (który domyślnie używa UTF-8) i nie używasz PrimeFaces ajax (który jest znany z blokowania kodowania treści żądania ), Twój problem ma 2 przyczyny:

  1. Kodowanie znaków sterownika MySQL JDBC nie jest ustawione na UTF-8. Spowodowało to zniekształcenie znaków w bazie danych.

  2. Kodowanie znaków w konsoli Eclipse nie jest ustawione na UTF-8. Spowodowało to zniekształcenie znaków w System.out .

Rozwiązania to:

  1. Dodaj useUnicode=yes i characterEncoding=UTF-8 parametry do połączenia JDBC. Można go określić jako ciąg zapytania w adresie URL JDBC

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

    lub jako właściwości połączenia w źródle danych JDBC, dokładnie w taki sam sposób, w jaki określiłeś nazwę użytkownika, hasło itp.

  2. Powiedz Eclipse, aby używało UTF-8 jako kodowania konsoli, wybierając Okno> Preferencje> Ogólne> Obszar roboczy> Kodowanie pliku tekstowego :

Zobacz też:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kiedy WSTAWIAM wiele wierszy do tabeli MySQL, czy identyfikatory będą za każdym razem zwiększane o 1?

  2. Wynik zapytania mysql w zmiennej php

  3. Wartości inicjujące MySQL RAND() prawie się powtarzają

  4. TIMESTAMPDIFF() Przykłady – MySQL

  5. PHP PDO zwraca niespójne wyniki dla SELECT FOUND_ROWS()