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 \ [2orioaiworkflow:LANG\]). Wiki Markup
Le positionner en tant qu'option Tomcat est également préférable:
Code Block |
---|
CATALINA_OPTS=-Dfile.encoding=UTF-8 |
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 \ [2orioaiworkflow:mysqld\] au même niveau que *default-storage_engine = innodb* :
Code Block |
---|
character-set-server=utf8 collation-server=utf8_general_ci |
...
Code Block |
---|
mysql> SHOW VARIABLES LIKE 'character_set%'; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | latin1 | | character_set_connection | latin1 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | latin1 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ 8 rows in set (0.00 sec) mysql> SHOW VARIABLES LIKE 'collation%'; +----------------------+-------------------+ | Variable_name | Value | +----------------------+-------------------+ | collation_connection | latin1_swedish_ci | | collation_database | utf8_general_ci | | collation_server | utf8_general_ci | +----------------------+-------------------+ 3 rows in set (0.00 sec) |
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.
...