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&useUnicode=true&createDatabaseIfNotExist=true&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