Mysql
 sql >> Base de données >  >> RDS >> Mysql

Hibernate + MySQL :comment définir l'encodage utf-8 pour la base de données et les tables

Vous pouvez également créer des bases de données avec encodage.
Utilisez simplement phpMyAdmin pour la création de la base de données/table.

Il y a certains paramètres d'URL que vous devez spécifier dans l'URL des paramètres d'hibernation pour avoir la connexion en utilisant UTF8 :

<!-- Database Settings -->
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<!--  for performance reasons changed to MyISAM from org.hibernate.dialect.MySQLInnoDBDialect -->
<property name="dialect">org.openmeetings.app.hibernate.utils.MySQL5MyISAMDialect</property>
<property name="connection.url">jdbc:mysql://localhost/openmeetings?autoReconnect=true&amp;useUnicode=true&amp;createDatabaseIfNotExist=true&amp;characterEncoding=utf-8</property>    

<property name="hibernate.connection.CharSet">utf8</property>
<property name="hibernate.connection.characterEncoding">utf8</property>
<property name="hibernate.connection.useUnicode">true</property>

Vous n'avez pas besoin de définir l'ensemble de l'encodage dans la base de données sur utf8Seulement si vous utilisez

<!-- Database Scheme Auto Update -->
<property name="hbm2ddl.auto">update</property>   

Vous devrez définir l'encodage par défaut de MySQL sur utf8. Provoquer le hbm2dll utilisera l'encodage par défaut de la base de données.

Vous pouvez toujours utiliser hbm2ddl.auto , et modifiez manuellement les tables de la base de données pour avoir un classement utf8.

Si vous n'utilisez pas hbm2ddl.auto , vous pouvez simplement créer les tables avec votre encodage préféré. Pas besoin de définir la base de données sur un encodage spécial.

Sébastien