2008-12-18 6 views
1

Nous avons un problème avec le caractère Euro lors de l'enregistrement et de la récupération à partir d'un Oracle 10g en utilisant le pilote Oracle 10.2.0.3 JDBC. Le problème se produit uniquement lors d'un test JUnit s'exécutant sous Linux. Les caractères Euro retournés de la base de données après la sauvegarde sont totalement foutus. Oracle a été configuré pour utiliser le jeu de caractères "WE8MSWIN1252". Se pourrait-il que Linux ne puisse pas fonctionner avec ce jeu de caractères?Oracle JDBC Euro caractère

Répondre

3

Ce n'est pas une chose Linux. C'est un bogue Oracle connu dans le code de récupération du pilote jdbc. Il existe un correctif disponible, mais vous devez avoir accès à Oracle Metalink pour le télécharger. L'autre alternative suggérée est d'utiliser le pilote OCI au lieu du thin. Cela peut ou peut ne pas être une option pour vous.

EDIT:

Ce bogue, qui existait dans le pilote 10.2.0.3, est fixé dans le 10.2.0.4 pilote JDBC.

4

C'est tout à fait possible; La page de codes 1252 est l'extension propre à Microsoft ISO-8859-1 (a.k.a. Latin-1), et elle est rarement utilisée sur Linux, qui tend à utiliser ce dernier. Le symbole de l'euro ne fait pas partie de Latin-1, c'est peut-être pourquoi il ne peut pas s'afficher correctement sous Linux. Ne pouvez-vous pas utiliser UTF-8? Cela fonctionnera de la même manière des deux côtés.

Questions connexes