Précédent   Forum des professionnels en informatique > Bases de données > Firebird
Firebird Forum d'entraide sur le SGBD Firebird. Avant de poster -> F.A.Q Firebird, Tutoriels
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/12/2007, 02h59   #1
Candidat au titre de Membre du Club
 
Inscription : juin 2007
Messages : 110
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 110
Points : 12
Points : 12
Par défaut Problème d'affichage des accents dans une procedure stockée

Tout d'abord, je souhaite à tout les modérateurs,les membres, les invités, et à tous les utilisateurs de devloppez.com une jouyeuse année pleine de prospérité et de bonheur.

Ma question :



A l'affichage dans fastreport, j'obtient le résultat suivant :

Réglé s'affiche comme suit : R,gl,
CHQ N° s'affiche comme suit : CHQ NØ,
éspèces s'affiche comme suit : ,spŠces

Dans le forum de Fastreport, on me dit que c'est pas un problème de fastreport, voir la base de données.

En plus lorsque je travaille directement avec la table Table1 sans passer par une procedure stockée, le résultat dans fastreport est normal.

Je crois que le problème vient de la PS. (Portant, le champs "libelle" est à CHARACTER SET ISO8859_1)

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
SET TERM ^ ;
CREATE PROCEDURE test (xcode    char(12))
returns (DTMVT    DATE,
         LIBELLE VARCHAR(60) CHARACTER SET ISO8859_1,
         SOLDE    NUMERIC(11,2)
         )
AS
 
begin
        FOR SELECT dtmvt,  case typep
                                      when 33 then 'Bon de réception N°' || cdmvt
                                      when 1  then 'Comptant N°' || cdmvt
                                      when 3  then 'Bon de livraison N°' || cdmvt
                                      when 7  then 'Avoir N°' || cdmvt
                                      when 8  then 'Avoir N°' || cdmvt
                                      when 80 then 'Retrait des éspèces '
                                      end,solde
        FROM table1
        WHERE code=:xCode
             INTO  :dtmvt, :libelle,:solde
        do
        begin
             SUSPEND;
        end
end
^
SET TERM ; ^
commit;
C'est qlcn pourais m'aider.


Merci d'avance.
Socrat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/12/2007, 11h34   #2
Expert Confirmé Sénior
 
Avatar de qi130
 
Homme Pierre
Ingénieur qualité méthodes
Inscription : mars 2003
Messages : 3 726
Détails du profil
Informations personnelles :
Nom : Homme Pierre
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Ingénieur qualité méthodes
Secteur : Finance

Informations forums :
Inscription : mars 2003
Messages : 3 726
Points : 4 739
Points : 4 739
1/ Quel SGBD ?
2/ Quelle version ?
3/ Avec quel charset est déclarée la base ?
4/ Quel intéret à spécifier CHARACTER SET ISO8859_1 ?
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
-----------------------
Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
Usus magister est optimus
qi130 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/12/2007, 20h08   #3
Candidat au titre de Membre du Club
 
Inscription : juin 2007
Messages : 110
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 110
Points : 12
Points : 12
Merci pour votre répense :
1- Firebird 2
2- Version 2
3- Charset = ISO8859_1

4- Le ISO8859_1 est pour afficher les caractères latine (Français : Accents, etc...)
Socrat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/12/2007, 21h40   #4
Expert Confirmé Sénior
 
Avatar de qi130
 
Homme Pierre
Ingénieur qualité méthodes
Inscription : mars 2003
Messages : 3 726
Détails du profil
Informations personnelles :
Nom : Homme Pierre
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Ingénieur qualité méthodes
Secteur : Finance

Informations forums :
Inscription : mars 2003
Messages : 3 726
Points : 4 739
Points : 4 739
Si la base est en Charset ISO8859_1, pourquoi le spécifier à nouveau dans la PS ?
Ce charset est-il altéré quelque part ailleurs ?
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
-----------------------
Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
Usus magister est optimus
qi130 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/12/2007, 23h18   #5
Candidat au titre de Membre du Club
 
Inscription : juin 2007
Messages : 110
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 110
Points : 12
Points : 12
La base n'est pas en Charset ISO8859_1, il est à default.

Est-ce qu'il y a une possibilité d'appliquer ISO8859_1 après la création de la base ?

Et ce que je ne comprend pas, pourquoi, seules les procedures stockées affichent les caractères anormaux (par contre les tables affichent normalement les accents (é,è,à,°,...) ???

En plus lorsque je travaille directement avec la table Table1 sans passer par une procedure stockée, le résultat dans fastreport est normal.
Socrat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/12/2007, 23h20   #6
Candidat au titre de Membre du Club
 
Inscription : juin 2007
Messages : 110
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 110
Points : 12
Points : 12
La base n'est pas en Charset ISO8859_1, il est à default.

Est-ce qu'il y a une possibilité d'appliquer ISO8859_1 après la création de la base ?

Et ce que je ne comprend pas, pourquoi, seules les procedures stockées affichent les caractères anormaux (par contre les tables affichent normalement les accents (é,è,à,°,...) ???

Citation:
En plus lorsque je travaille directement avec la table Table1 sans passer par une procedure stockée, le résultat dans fastreport est normal.
Socrat est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h43.


 
 
 
 
Partenaires

Hébergement Web