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

Hibernate + MySQL:Como definir a codificação utf-8 para banco de dados e tabelas


Você também pode criar bancos de dados com codificação.
Basta usar phpMyAdmin para a criação do banco de dados/tabela.

Existem alguns parâmetros de URL que você especificaria na URL das configurações de hibernação para ter a conexão usando 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>

Você não precisa definir toda a codificação no banco de dados para utf8Only se estiver usando
<!-- Database Scheme Auto Update -->
<property name="hbm2ddl.auto">update</property>   

Você terá que definir a codificação padrão do MySQL para utf8. Faça com que o hbm2dll usará a codificação padrão do banco de dados.

Você ainda pode usar hbm2ddl.auto , e modifique as tabelas do banco de dados manualmente para ter o agrupamento utf8.

Se você não estiver usando hbm2ddl.auto , você pode simplesmente criar as tabelas com sua codificação favorita. Não há necessidade de definir o banco de dados para uma codificação especial.

Sebastião