Ruby On Rails et Oracle #4.1 : la gestion du NLS ne semble pas satisfaisante
Par Renaud Gaudin le mercredi 23 mai 2007, 23:45 - RoR - Lien permanent
database en AL32UTF8 client SQL en WE8PC850 => NLS_LANG=FRENCH_FRANCE.WE8PC850. Cette variable est aussi initialisée dans use_ruby.cmd client Zindoz en WE8MSjesaisplusquoimaisje suis sûr que c'est le bon!
essais et résultats :
database en AL32UTF8 client SQL en WE8PC850 => NLS_LANG=FRENCH_FRANCE.WE8PC850. Cette variable est aussi initialisée dans use_ruby.cmd client Zindoz en WE8MSjesaisplusquoimaisje suis sûr que c'est le bon!
sous l'appli Web : Listing books Title Text àà aahh ça c bien Show Edit Destroy ééé éééé eeee Show Edit Destroy
sous SQL*Plus :
ID
TITLE
TEXT
42
+á+á aahh +ºa c bien
22
+®+®+® +®+®+®+® eeee
depuis APEX: ID TITLE TEXT 42 ?á?á aahh ?ºa c bien 22 ?®?®?® ?®?®?®?® eeee
réciproquement j'insère des accents depuis SQL:
43
ééssai depuis SQL je viens de SQL*Plus é
et dans les 2 autres ça donne : ID TITLE TEXT 43 ééssai depuis SQL je viens de SQL*Plus é 42 ?á?á aahh ?ºa c bien 22 ?®?®?® ?®?®?®?® eeee et depuis localhost: ID TITLE TEXT 43 ééssai depuis SQL je viens de SQL*Plus é 42 ?á?á aahh ?ºa c bien 22 ?®?®?® ?®?®?®?® eeee
j'aurais tendance à penser que c'est ruby qui a tort mais je ne vois pas encore où le lui dire...
il est possible que les jeux de caractères de la base et de son serveur Web, mais surtout de SQL*Plus, soient insuffisants pour afficher ce qui veint l'appli web RoR. mais le résultat d'un export (certes généré depuis APEX) est inquiétant: