Skip to end of metadata
Go to start of metadata

De par leurs fonctionnalités et leurs objectifs d'interropérabilité, les modules ORI-OAI sont voués à fonctionner dans un encodage UTF-8. Il est préférable (pour éviter au mieux les problèmes d'encodage dans les données, le rendu etc.) de positionner l'encodage à UTF-8 pour tous les composants acteurs dans ORI-OAI (les bases de données, les serveurs d'applciation, etc). Cela peut se faire de différentes manières (depuis les variables d'environnement du système par exemple [LANG]).

Le positionner en tant qu'option Tomcat est également préférable:

Encodage et MySQL

Côté MySQL

Pour MySQL, le plus simple est de configurer l'UTF-8 à la fois au niveau des "Connection Character Sets" et des "Collations".
Pour ce faire, on ajoute dans la configuration de mysql (sous debian /etc/mysql/my.cnf) la confiuration suivante (après [mysqld] au même niveau que default-storage_engine = innodb :

On notera qu'après une telle modification il faut redémarrer le serveur mysql.


On peut ensuite vérifier la bonne prise en compte de ces variables :

Côté client Hibernate

Si comme indiqué au dessus, on a positionné à la fois les collation et les character set à utf-8, cette configuration côté Hibernate n'est a priori pas nécessaire.

Ici on force Hibernate à demander un dialogue UTF-8 avec la base de données, cela en ajoutant dans les paramètres de connection

  • useUnicode=true
  • characterEncoding=utf8
  • useOldUTF8Behavior=true

Pour ori-oai-workflow, dans conf/properties/spring/common/dao/dao.xml
On mettra à la place de

cela :

  • No labels