IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Firebird Discussion :

Firebird 2.51 n'accèpte pas les caractère é,è,°,..


Sujet :

Firebird

  1. #1
    Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 144
    Points : 50
    Points
    50
    Par défaut Firebird 2.51 n'accèpte pas les caractère é,è,°,..
    Rebonjour,

    Pourquoi firebird 2.51 n'accèpte pas les caractère é,è,°,...

  2. #2
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : Février 2006
    Messages : 562
    Points : 859
    Points
    859
    Par défaut
    Firebird accepte sans probleme les caracteres accentués.
    Quel est le jeu de caractere de ta base de données ?
    Les problemes d'accents sont souvent dus aux composants graphiques.
    Quel language utilisez vous avec quels composants ?

  3. #3
    Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 144
    Points : 50
    Points
    50
    Par défaut
    Mercie ddaime pour la répense.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DEFAULT CHARACTER SET NONE;

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    CHARACTER SET ISO8859_1
    serait plus indiquée
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 245
    Points : 534
    Points
    534
    Par défaut
    CHARACTER SET ISO8859_1 serait plus indiquée
    Bonjour,

    Veuillez ne pas m'en vouloir de cette modeste "contradiction", mais je pense qu'utiliser l'ISO8859_1 avec la version française de Windows est une erreur fréquente. Le jeu de caractères utilisé par cette version est WIN1252.
    Il manque en particulier au jeu ISO8859_1 les caractères dans la tranche #130 à #159 dont notre œ (#156) souvent utilisé (et malheureusement "oublié") dans nos noms de communes et autres noms.
    L'utilisation de Firebird demande la définition de 2 jeux de caractères: le premier pour la connexion, le second pour les champs de type chaîne. Pour éviter le transcodage dans le logiciel, le jeu de connexion doit être celui utilisé par le logiciel (UTF8 pour Lazarus, WIN1252 pour D7...). Si le jeu utilisé pour les chaînes est différent, Firebird se charge du transcodage. Il émet une erreur s'il trouve un caractère qui n'a pas de correspondance dans les 2 jeux, évitant ce que certains considèrent à juste raison comme une corruption de la base. Mais si les 2 jeux sont identiques, il n'y a pas de transcodage, donc pas de "vérification", et "tout passe". Je connais ainsi une base de communes construite avec D7 et les 2 jeux ISO8859_1, qui est devenue illisible depuis un logiciel Lazarus avec la connexion UTF8.

    André

  6. #6
    Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 144
    Points : 50
    Points
    50
    Par défaut
    Bonjour,

    J'ai pas encore réglé le problème.

    J'ai oublié de vous signaler que j'étais sur Firebird 2.0, le prblème parvient après l'installation de la version 2.5.

    j'ai cherché dans dans les forums, j'ai trouvé la solution suivante :

    backup dans l'ancien version la 2.0 puis un restore sur la nvlle version 2.5 :

    Le backup se passe normalement (evidement)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gbak -b mydata.fdb mydata.fbk -USER SYSDBA -PASSWORD masterkey
    Le restore ne marche pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gbak mydata.fbk mydata.fdb -R -USER SYSDBA -PASSWORD masterkey -FIX_FSS_METADATA UTF8 -REP

    erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    29
    30
    31
    32
    33
    34
    35
    c:\DATA>gbak mydata.fbk mydata.fdb -R -USER SYSDBA -PASSWORD masterkey -FIX_FSS_METADATA UTF8 -REP
    gbak:unknown switch "@1"
    gbak:legal switches are:
            @1B(ACKUP_DATABASE)    backup database to file
            @1BU(FFERS)            override page buffers default
            @1C(REATE_DATABASE)    create database from backup file (restore)
            @1CO(NVERT)            backup external files as tables
            @1E(XPAND)             no data compression
            @1FA(CTOR)             blocking factor
            @1G(ARBAGE_COLLECT)    inhibit garbage collection
            @1I(NACTIVE)           deactivate indexes during restore
            @1IG(NORE)             ignore bad checksums
            @1K(ILL)               restore without creating shadows
            @1L(IMBO)              ignore transactions in limbo
            @1M(ETA_DATA)          backup or restore metadata only
            @1MO(DE) <access>      "read_only" or "read_write" access
            @1N(O_VALIDITY)        do not restore database validity conditions
            @1NT                   Non-Transportable backup file format
            @1O(NE_AT_A_TIME)      restore one table at a time
            @1OL(D_DESCRIPTIONS)   save old style metadata descriptions
            @1P(AGE_SIZE)          override default page size
            @1PAS(SWORD)           Firebird password
            @1R(ECREATE_DATABASE) [O(VERWRITE)] create (or replace if OVERWRITE used)\n                     database from backup file (restore)
            @1REP(LACE_DATABASE)   replace database from backup file (restore)
            @1RO(LE)               Firebird SQL role
            @1SE(RVICE)            use services manager
            @1T(RANSPORTABLE)      transportable backup -- data in XDR format
            @1USE_(ALL_SPACE)      do not reserve space for record versions
            @1USER                 Firebird user name
            @1V(ERIFY)             report each action taken
            @1Y  <path>            redirect/suppress status message output
            @1Z                    print version number
    gbak:switches can be abbreviated to the unparenthesized characters
    gbak: ERROR:found unknown switch
    gbak:Exiting before completion due to errors
    Je crois que 2.5 n'accepte pas l'option : -FIX_FSS_METADATA portant cette option est présente dans la syntaxe voir : (http://www.destructor.de/firebird/gbak.htm)

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 245
    Points : 534
    Points
    534
    Par défaut
    Bonsoir,

    http://www.firebirdsql.org/file/docu...mdline-restore est peut-être plus clair.
    On y lit:
    -REP[LACE_DATABASE]

    Replace database from backup file. This switch used to be abbreviated to -r in previous (to Firebird 2.x) versions. This switch will be removed in a version of Firebird later than 2.1.3 (where it still exists). You are advised to use the -r[ecreate_database] o[verwrite] switch instead.

    Il faut donc maintenant utiliser -R O à la place des -R et -REP dans votre ligne de commande pour recréer la base en écrasant l'ancienne.

    André

  8. #8
    Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 144
    Points : 50
    Points
    50
    Par défaut
    Merci alanglet pour la répense et Bonsoir.
    Oui -REP ne convient pas avec -R.


    Mais malgrè la restauration, j'ai l'erreur suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    SQL> input d:\ng\p.sql;
    Statement failed, SQLSTATE = 42000
    unsuccessful metadata update
    -STORE RDB$PROCEDURES failed
    -Malformed string
    After line 2019 in file d:\ng3\p.sql
    Statement failed, SQLSTATE = 42000
    unsuccessful metadata update
    -STORE RDB$PROCEDURES failed
    -Malformed string
    After line 2256 in file d:\ng3\p.sql
    Statement failed, SQLSTATE = 42000
    unsuccessful metadata update
    -STORE RDB$PROCEDURES failed
    -Malformed string
    After line 4793 in file d:\ng3\p.sql
    Statement failed, SQLSTATE = 42000
    unsuccessful metadata update
    -STORE RDB$PROCEDURES failed
    -Malformed string
    After line 6475 in file d:\ng3\p.sql
    SQL>
    à la ligne 2019 : la procedure contient le caractère é
    à la ligne 2256 : la procedure contient le caractère ° (N°)
    même chose pour les ligne 4793, 6475
    Là où il y a les caractères des accent : é,è,â,à,°

    comme vous voyer j'ai restaurer avec l'option

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    SQL> show database;
    Database: mydata.fdb
            Owner: SYSDBA
    PAGE_SIZE 4096
    Number of DB pages allocated = 33090
    Sweep interval = 20000
    Forced Writes are OFF
    Transaction - oldest = 7194
    Transaction - oldest active = 7195
    Transaction - oldest snapshot = 7195
    Transaction - Next = 7196
    ODS = 11.2
    Default Character set: NONE
    SQL>

    remarquer la ligne du charset est à none :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Default Character set: NONE

    Je crois qu'il faut la mettre à UTF8


    Comment puis-je le faire ?
    Merci.

  9. #9
    Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 144
    Points : 50
    Points
    50
    Par défaut
    J'ai oubliè de vous signaler que j'ai ajouter la ligne suivante à mon script :


Discussions similaires

  1. IndexOf ne trouve pas les caractères accentués
    Par vikti dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 27/11/2009, 20h01
  2. Réponses: 2
    Dernier message: 01/05/2009, 13h34
  3. Réponses: 8
    Dernier message: 29/11/2008, 14h32
  4. Ma méthode ne me renvoit pas les caractères
    Par beegees dans le forum Langage
    Réponses: 2
    Dernier message: 24/05/2007, 10h14
  5. InputQuery n'affichant pas les caractères saisies
    Par netah25 dans le forum C++Builder
    Réponses: 2
    Dernier message: 18/01/2007, 11h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo