Mysql
 sql >> база данни >  >> RDS >> Mysql

Кодиране на китайски символи на JSF вход

При условие, че наистина използвате Facelets (които по подразбиране използва UTF-8) и не използвате PrimeFaces ajax (за който е известно, че обърква кодирането на тялото на заявката ), проблемът ви има 2 причини:

  1. Кодирането на символите на драйвера на MySQL JDBC не е зададено на UTF-8. Това доведе до изкривени знаци в БД.

  2. Кодирането на символите на конзолата на Eclipse не е зададено на UTF-8. Това доведе до изкривени знаци в System.out .

Решенията са:

  1. Добавете useUnicode=yes и characterEncoding=UTF-8 параметри към JDBC връзката. Можете да го посочите или като низ на заявка в URL адреса на JDBC

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

    или като свойства на връзката в източник на данни JDBC, точно по същия начин, както сте посочили потребителско име, парола и т.н.

  2. Кажете на Eclipse да използва UTF-8 като конзолно кодиране чрез Прозорец> Предпочитания> Общи> Работно пространство> Кодиране на текстови файлове :

Вижте също:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL:Достъпът е отказан за потребител 'test'@'localhost' (използвайки парола:ДА) с изключение на root потребител

  2. Как да извика съхранена процедура с Eloquent (Laravel)?

  3. Проблемът с Percona 5.6 InnoDB не използва индексите правилно

  4. CakePHP - изтеглете последната заявка

  5. MySql пълно присъединяване (обединение) и подреждане на множество колони за дата