sql >> Database teknologi >  >> RDS >> Mysql

Kinesisk tegnkodning af JSF-input

Forudsat at du faktisk bruger Facelets (som bruger UTF-8 som standard) og ikke bruger PrimeFaces ajax (som er kendt for at ødelægge anmodningens kropskodning ), har dit problem 2 årsager:

  1. MySQL JDBC-driverens tegnkodning er ikke indstillet til UTF-8. Dette forårsagede forvanskede tegn i databasen.

  2. Eclipse-konsollens tegnkodning er ikke indstillet til UTF-8. Dette forårsagede forvanskede tegn i System.out .

Løsningerne er:

  1. Tilføj useUnicode=yes og characterEncoding=UTF-8 parametre til JDBC-forbindelsen. Du kan angive den enten som forespørgselsstreng i JDBC URL'en

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

    eller som forbindelsesegenskaber i JDBC-datakilden, præcis på samme måde som du angav brugernavn, adgangskode osv.

  2. Bed Eclipse om at bruge UTF-8 som konsolkodning ved Window> Preferences> General> Workspace> Text File Encoding :

Se også:



  1. Hvordan viser man data fra mysql ved hjælp af angular.js PHP?

  2. Sådan aktiverer du sporing i oracle apps r12

  3. MySQL my.ini placering

  4. Forsøger at installere Perl-Mysql DBD, mysql_config kan ikke findes