Précédent   Forum des professionnels en informatique > Bases de données > Autres SGBD > InterBase
InterBase Forum d'entraide sur le SGBD InterBase de Codegear. Avant de poster -> F.A.Q Interbase, 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 04/04/2007, 14h48   #1
Membre confirmé
 
Inscription : juillet 2002
Messages : 440
Détails du profil
Informations forums :
Inscription : juillet 2002
Messages : 440
Points : 294
Points : 294
Par défaut [IB6]Problème avec caractères accentués

Bonjour,
J'ai fait une recherche sur le forum mais je n'ai rien trouvé pour résoudre mon problème.

J'ai créé ma base de donnée avec le CHARACTER SET ISO8859_1.
Voici par exemple la structure d'une des tables (c'est le metadata de IBconsole):
Code :
1
2
3
4
5
6
CREATE TABLE "SEXE" 
(
  "I_ID_SEXE"	INTEGER NOT NULL,
  "S_LIB_SEXE"	VARCHAR(50) CHARACTER SET ISO8859_1,
 PRIMARY KEY ("I_ID_SEXE")
);
Ma table est donc correctement configuré.
J'utilise les composants suivants :
TIBDatabase
TIBTransaction
TIBQuery
TIBUpdateSQL

J'ai bien double clické sur le TIBDatabase pour obtenir la ligne suivante :Et quand je fais :
Code :
1
2
3
4
5
6
7
8
9
10
11
try {
    IBUpdateSQL2->InsertSQL->Clear();
    IBUpdateSQL2->InsertSQL->ADD(TempSQL + ") VALUES (" + TempSQL2 + ")");
    IBUpdateSQL2->Apply(ukInsert);
    IBTransaction1->Commit();
    }
catch ( ... )
      {
      IBTransaction1->Rollback();
      Application->MessageBox(("La commande " + TempSQL + ") VALUES (" + TempSQL2 + ") a échoué").c_str(),"Attention", MB_OK + MB_ICONWARNING + MB_TOPMOST);
      }
S'il y a un caractère accentué, j'ai :
Citation:
Le projet Serveur.exe a provoqué une classe d'exception EIBInterBaseError avec le message 'arithmetic exception, numeric overflow, or string truncation
Cannot transliterate character between character sets'. Processus stoppé. Utilisez Pas-à-pas ou Exécuter pour continuer.
C'est à dire qu'il ne voit pas mon CHARACTER SET ISO8859_1.

La ligne qui m'indique la commande qui échoue m'affiche ceci :
Citation:
La commande INSERT INTO SEXE (I_ID_SEXE, S_LIB_SEXE) VALUES (2, 'Féminin') a échoué
Sachant que ma table est vide et que je peux la recréer, que faire pour résoudre ce problème?

Merci
gandf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2007, 20h51   #2
Membre à l'essai
 
Inscription : avril 2005
Messages : 25
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 25
Points : 23
Points : 23
Ne serait-ce pas parcequ'un sexe de 50 (characters) c'est un peu long ?

Slts
Pascal ;o)

rem: en isql il faut passer la commande set names=dos858 avant la connexion pour résoudre un tel problem, ou lancer isql avec l'option -ch dos858
pascal_legrand est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2007, 21h05   #3
Membre confirmé
 
Inscription : juillet 2002
Messages : 440
Détails du profil
Informations forums :
Inscription : juillet 2002
Messages : 440
Points : 294
Points : 294
En fait, je dois me baser sur une structure déja défini pour la BDD et cela ne sert qu'à changer la dénomination.

Qu'est ce qu'un isql?
gandf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2007, 15h46   #4
Membre confirmé
 
Inscription : juillet 2002
Messages : 440
Détails du profil
Informations forums :
Inscription : juillet 2002
Messages : 440
Points : 294
Points : 294
Personne ne peut m'aider pour ce problème?
gandf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2007, 19h45   #5
Expert Confirmé

 
Homme Philippe Makowski
Consultant spécialité Firebird
Inscription : mai 2002
Messages : 2 215
Détails du profil
Informations personnelles :
Nom : Homme Philippe Makowski
Âge : 49
Localisation : France

Informations professionnelles :
Activité : Consultant spécialité Firebird
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 2 215
Points : 3 318
Points : 3 318
ben d'abord c'est ib6, c'est pas bien ib6 et en plus ibx

Il doit bien y avoir quelque part dans les ibx un moyen d'indiquer correctement avec quel jeu de caractères tu veux travailler
tu auras peu être plus de chance sur le forum delphi ?
__________________
Philippe Makowski
IBPhoenix - Firebird
Membre de l'April
makowski est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2007, 10h43   #6
Membre confirmé
 
Inscription : juillet 2002
Messages : 440
Détails du profil
Informations forums :
Inscription : juillet 2002
Messages : 440
Points : 294
Points : 294
Ben en fait, si j'ai pris ib6 et ibx c'est parce que tous les cours parle de ceux la :
http://interbase.developpez.com/cours/

Et comme j'avais vu en faisant une recherche sur ce forum que des personnes avaient eu un problème similaire, j'ai tenté ma chance ici.
gandf 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 01h22.


 
 
 
 
Partenaires

Hébergement Web