Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Codificação de caracteres chineses de entrada JSF


Desde que você esteja realmente usando Facelets (que usa UTF-8 por padrão) e não esteja usando PrimeFaces ajax (que é conhecido por atrapalhar a codificação do corpo da solicitação ), seu problema tem 2 causas:

  1. A codificação de caracteres do driver MySQL JDBC não foi definida como UTF-8. Isso causou caracteres ilegíveis no banco de dados.

  2. A codificação de caracteres do console Eclipse não foi configurada para UTF-8. Isso causou caracteres ilegíveis em System.out .

As soluções são:

  1. Adicione useUnicode=yes e characterEncoding=UTF-8 parâmetros para a conexão JDBC. Você pode especificá-lo como string de consulta na URL JDBC
    jdbc:mysql://hostname:3306/db_name?useUnicode=yes&characterEncoding=UTF-8
    

    ou como propriedades de conexão na fonte de dados JDBC, exatamente da mesma forma que você especificou nome de usuário, senha, etc.

  2. Diga ao Eclipse para usar UTF-8 como codificação de console em Window> Preferences> General> Workspace> Text File Encoding :


Veja também: