Firebird pilote JDBC connexion encodage des caractères

J'ai un JSF application en cours d'exécution sur tomcat6 dans Fedora 17, à l'aide de firebird que la base de données et tous les registres provenant de la base de données de l'application sont à venir avec un problème d'encodage.

La langue est le portugais du brésil, j'ai donc besoin é s et ã et ç et ici l'ensemble de ces caractères spéciaux viennent avec des problèmes.

La é s et ã partir du code source d'origine sont ok, seulement ceux à venir directement à partir de la base de données me causer des ennuis...

Une idée de ce qui se passe?

Heres une image où cet étrange personnage devrait être é

Firebird pilote JDBC connexion encodage des caractères

Le problème arrive quand il récupère à partir de la DB.

JSF 1.x ou 2.x? Qui "trouble" est-ce que tu parles? Veuillez fournir plus de détails. Quels sont les caractères que l'on voit à la place? À quelle étape exactement est-il en montrant des caractères incorrects? Directement après la récupération à partir d'DB dans du code Java? Ou seulement dans le code HTML généré en sortie?
Qu'est-ce que le jeu de caractères par défaut de la bd (ou de la coumns), qu'est-ce que la connexion characterset, est-ce des données provenant d'un BLOB SUB_TYPE TEXTE ou un (VAR)CHAR?
essayé d'ajouter plus d'informations
Vous n'êtes toujours pas clair sur exactement quand il échoue. Veuillez préciser le problème au point de vue du développeur, et non pas dans la perspective de l'utilisateur final. Pour commencer, dans le code directement après avoir récupérer les données de la DB, mettez un debug point d'arrêt ou d'un enregistreur ou d'un système..println de sorte que vous pouvez vérifier si le pilote JDBC a décodé correctement. Notez que vous devez être absolument sûr que votre IDE et l'enregistreur de données/sortie standard de la console en elle-même est aussi utiliser le bon jeu de caractères (c'est à dire que vous devez être en mesure de faire System.out.println("éãç") et de le voir de retour dans la console).
Notez que je suppose que les caractères sont correctement été stockées dans la base de données. Donc, si vous regardez dans la base de données directement à l'aide de quelques DB de l'outil d'administration, ces caractères doit être fine. Sinon, il n'a pas de sens pour le poste comme un JSF problème en premier lieu. Comme vous êtes en utilisant JSF 2.x (qui utilise par elle-même déjà par défaut UTF-8 dans toutes les couches), je pense de plus en plus que le problème est en fait en DB de l'installation ou du pilote JDBC config.

OriginalL'auteur Vitor Hugo | 2012-10-31