OVH Cloud OVH Cloud

osql et les accents

11 réponses
Avatar
Alain
bonjour,
Quand je lance osql avec un script comportant des insert=20
portant sur des donn=E9es avec accents, exemple :
insert into etat values (1, 'cr=E9=E9e')
je retrouve 'cre' dans la table !
Je suppose qu'il s'agit d'un probl=E8me de codage et de=20
langue, mais comment y rem=E9dier ?
Merci d'avance,
Alain

10 réponses

1 2
Avatar
VUILLERMET Jacques
Le script a-t-il été créée avec Notepad (c'est-à-dire avec Windows donc en
ANSI) ou bien avec Edit sous DOS (c'est-à-dire en ASCII) ?

Edite d'abord ton script avec Edit et vois si cela le corrige ton souci (90%
de chance à mon avis).

Jacques.


"Alain" a écrit dans le message de
news: 066901c3b7fa$71a98d30$
bonjour,
Quand je lance osql avec un script comportant des insert
portant sur des données avec accents, exemple :
insert into etat values (1, 'créée')
je retrouve 'cre' dans la table !
Je suppose qu'il s'agit d'un problème de codage et de
langue, mais comment y remédier ?
Merci d'avance,
Alain
Avatar
Alain
Bonjour,
Edite d'abord ton script avec Edit


C'est bien sûr ce que j'ai fait pour pouvoir avancer, mais
ce que tu me dis laisse à penser que osql serait fâché
avec l'ANSI ?
Alain
-----Message d'origine-----
Le script a-t-il été créée avec Notepad (c'est-à-dire


avec Windows donc en
ANSI) ou bien avec Edit sous DOS (c'est-à-dire en ASCII) ?

Edite d'abord ton script avec Edit et vois si cela le


corrige ton souci (90%
de chance à mon avis).

Jacques.


"Alain" a écrit


dans le message de
news: 066901c3b7fa$71a98d30$
bonjour,
Quand je lance osql avec un script comportant des insert
portant sur des données avec accents, exemple :
insert into etat values (1, 'créée')
je retrouve 'cre' dans la table !
Je suppose qu'il s'agit d'un problème de codage et de
langue, mais comment y remédier ?
Merci d'avance,
Alain


.



Avatar
VUILLERMET Jacques
Dans un fichier, il n'y a pas de caractères écrits, il n'y a que des 0 et
des 1. Il y a ici 2 possibilités :

1- Avec EDIT sous DOS, quand tu frappes "é", EDIT utilise la page de code
ASCII pour écrire la valeur binaire correspondante dans le fichier :
01010101 (--> par exemple car je n'ai pas calculé la valeur exacte en
binaire !).

2- Avec NotePad sous Windows, quand tu frappes "é", NotePad utilise la page
de code ANSI pour écrire la valeur binaire correspondante dans le fichier :
10110101 (--> par exemple car je n'ai pas calculé la valeur exacte en
binaire !).

Si le programme qui lit ton fichier utilise ASCII alors il lira le même
caractère que celui que tu voulais.
Si le programme qui lit ton fichier utilise ANSI alors il lira un caractère
qui n'est pas celui que tu voulais.

OSQL est un utilitaire DOS, donc quand il lit un fichier texte ou quand
l'interpréteur de commande lui donne un chaîne de caractère, il l'interprète
les 0 et 1 correspondants avec une page de code ASCII. D'où l'intérêt de les
avoir saisi en ASCII.

A noter, il doit bien exister des éditeurs de texte sous Windows capables
d'enregistrer des fichiers en ASCII...

Jacques.


"Alain" a écrit dans le message de
news: 078d01c3b807$498b8cb0$
Bonjour,
Edite d'abord ton script avec Edit


C'est bien sûr ce que j'ai fait pour pouvoir avancer, mais
ce que tu me dis laisse à penser que osql serait fâché
avec l'ANSI ?
Alain
-----Message d'origine-----
Le script a-t-il été créée avec Notepad (c'est-à-dire


avec Windows donc en
ANSI) ou bien avec Edit sous DOS (c'est-à-dire en ASCII) ?

Edite d'abord ton script avec Edit et vois si cela le


corrige ton souci (90%
de chance à mon avis).

Jacques.


"Alain" a écrit


dans le message de
news: 066901c3b7fa$71a98d30$
bonjour,
Quand je lance osql avec un script comportant des insert
portant sur des données avec accents, exemple :
insert into etat values (1, 'créée')
je retrouve 'cre' dans la table !
Je suppose qu'il s'agit d'un problème de codage et de
langue, mais comment y remédier ?
Merci d'avance,
Alain


.



Avatar
Alain
Bonsoir,
OSQL est un utilitaire DOS


hum, il y a longtemps que osql (isql) n'est plus un
utilitaire DOS (si tant qu'il ne l'ai jamais été). Qu'il
fonctionne en mode ligne de commande c'est une chose,
qu'il travaille en mode DOS s'en est une autre.
Non il doit bien y avoir une translation de page de code,
mais je n'ai pas trouvée, j'ai essayé SET
LANGUAGE 'French', mais sans grand résultat !
A+
Alain
-----Message d'origine-----

Dans un fichier, il n'y a pas de caractères écrits, il


n'y a que des 0 et
des 1. Il y a ici 2 possibilités :

1- Avec EDIT sous DOS, quand tu frappes "é", EDIT utilise


la page de code
ASCII pour écrire la valeur binaire correspondante dans


le fichier :
01010101 (--> par exemple car je n'ai pas calculé la


valeur exacte en
binaire !).

2- Avec NotePad sous Windows, quand tu frappes "é",


NotePad utilise la page
de code ANSI pour écrire la valeur binaire correspondante


dans le fichier :
10110101 (--> par exemple car je n'ai pas calculé la


valeur exacte en
binaire !).

Si le programme qui lit ton fichier utilise ASCII alors


il lira le même
caractère que celui que tu voulais.
Si le programme qui lit ton fichier utilise ANSI alors il


lira un caractère
qui n'est pas celui que tu voulais.

OSQL est un utilitaire DOS, donc quand il lit un fichier


texte ou quand
l'interpréteur de commande lui donne un chaîne de


caractère, il l'interprète
les 0 et 1 correspondants avec une page de code ASCII.


D'où l'intérêt de les
avoir saisi en ASCII.

A noter, il doit bien exister des éditeurs de texte sous


Windows capables
d'enregistrer des fichiers en ASCII...

Jacques.


"Alain" a écrit


dans le message de
news: 078d01c3b807$498b8cb0$
Bonjour,
Edite d'abord ton script avec Edit


C'est bien sûr ce que j'ai fait pour pouvoir avancer, mais
ce que tu me dis laisse à penser que osql serait fâché
avec l'ANSI ?
Alain
-----Message d'origine-----
Le script a-t-il été créée avec Notepad (c'est-à-dire


avec Windows donc en
ANSI) ou bien avec Edit sous DOS (c'est-à-dire en




ASCII) ?

Edite d'abord ton script avec Edit et vois si cela le


corrige ton souci (90%
de chance à mon avis).

Jacques.


"Alain" a écrit


dans le message de
news: 066901c3b7fa$71a98d30$
bonjour,
Quand je lance osql avec un script comportant des insert
portant sur des données avec accents, exemple :
insert into etat values (1, 'créée')
je retrouve 'cre' dans la table !
Je suppose qu'il s'agit d'un problème de codage et de
langue, mais comment y remédier ?
Merci d'avance,
Alain


.





.



Avatar
Sebastien
> A noter, il doit bien exister des éditeurs de texte sous Windows capables
d'enregistrer des fichiers en ASCII...



Bonjour,

Pourquoi ne pas utiliser l'analyseur de requête de sql server comme éditeur
en mettant l'option Format de fichier à OEM (cp 850) dans les boites
d'ouverture et d'enregistrement des fichiers .sql (ou mettre OEM comme
valeur par défaut dans les options/editeur ) ?

Je me demande si ça ne marche pas également dans Notepad en mettant Unicode.

Mais c'est dommage que osql n'ait pas l'option -C codepage comme dans bcp

A+
Sébastien
Avatar
VUILLERMET Jacques
Oui, bien sûr, l'expression "utilitaire DOS" est rapide, elle signifiait, tu
l'as deviné, "qui fonctionne en ligne de commande".

Jacques.


"Alain" a écrit dans le message de
news: 000a01c3b836$686414c0$
Bonsoir,
OSQL est un utilitaire DOS


hum, il y a longtemps que osql (isql) n'est plus un
utilitaire DOS (si tant qu'il ne l'ai jamais été). Qu'il
fonctionne en mode ligne de commande c'est une chose,
qu'il travaille en mode DOS s'en est une autre.
Non il doit bien y avoir une translation de page de code,
mais je n'ai pas trouvée, j'ai essayé SET
LANGUAGE 'French', mais sans grand résultat !
A+
Alain
-----Message d'origine-----

Dans un fichier, il n'y a pas de caractères écrits, il


n'y a que des 0 et
des 1. Il y a ici 2 possibilités :

1- Avec EDIT sous DOS, quand tu frappes "é", EDIT utilise


la page de code
ASCII pour écrire la valeur binaire correspondante dans


le fichier :
01010101 (--> par exemple car je n'ai pas calculé la


valeur exacte en
binaire !).

2- Avec NotePad sous Windows, quand tu frappes "é",


NotePad utilise la page
de code ANSI pour écrire la valeur binaire correspondante


dans le fichier :
10110101 (--> par exemple car je n'ai pas calculé la


valeur exacte en
binaire !).

Si le programme qui lit ton fichier utilise ASCII alors


il lira le même
caractère que celui que tu voulais.
Si le programme qui lit ton fichier utilise ANSI alors il


lira un caractère
qui n'est pas celui que tu voulais.

OSQL est un utilitaire DOS, donc quand il lit un fichier


texte ou quand
l'interpréteur de commande lui donne un chaîne de


caractère, il l'interprète
les 0 et 1 correspondants avec une page de code ASCII.


D'où l'intérêt de les
avoir saisi en ASCII.

A noter, il doit bien exister des éditeurs de texte sous


Windows capables
d'enregistrer des fichiers en ASCII...

Jacques.


"Alain" a écrit


dans le message de
news: 078d01c3b807$498b8cb0$
Bonjour,
Edite d'abord ton script avec Edit


C'est bien sûr ce que j'ai fait pour pouvoir avancer, mais
ce que tu me dis laisse à penser que osql serait fâché
avec l'ANSI ?
Alain
-----Message d'origine-----
Le script a-t-il été créée avec Notepad (c'est-à-dire


avec Windows donc en
ANSI) ou bien avec Edit sous DOS (c'est-à-dire en




ASCII) ?

Edite d'abord ton script avec Edit et vois si cela le


corrige ton souci (90%
de chance à mon avis).

Jacques.


"Alain" a écrit


dans le message de
news: 066901c3b7fa$71a98d30$
bonjour,
Quand je lance osql avec un script comportant des insert
portant sur des données avec accents, exemple :
insert into etat values (1, 'créée')
je retrouve 'cre' dans la table !
Je suppose qu'il s'agit d'un problème de codage et de
langue, mais comment y remédier ?
Merci d'avance,
Alain


.





.



Avatar
peck
Alain wrote:
bonjour,
Quand je lance osql avec un script comportant des insert
portant sur des données avec accents, exemple :
insert into etat values (1, 'créée')
je retrouve 'cre' dans la table !
Je suppose qu'il s'agit d'un problème de codage et de
langue, mais comment y remédier ?
Merci d'avance,
Alain


Essaye de passer tes scripts SQl en UNICODE, généralement ça passe mieux
--
Laurent Savary
-----------------------------------------------
"Je ne parle par aux cons, ça les instruits" - Audiard
Avatar
Alain
Bonsoir,
Pourquoi ne pas utiliser l'analyseur de requête de sql


server comme éditeur
Parce que la requête à exécuter se fait dans un batch.
Alain

-----Message d'origine-----
A noter, il doit bien exister des éditeurs de texte




sous Windows capables
d'enregistrer des fichiers en ASCII...



Bonjour,

Pourquoi ne pas utiliser l'analyseur de requête de sql


server comme éditeur
en mettant l'option Format de fichier à OEM (cp 850) dans


les boites
d'ouverture et d'enregistrement des fichiers .sql (ou


mettre OEM comme
valeur par défaut dans les options/editeur ) ?

Je me demande si ça ne marche pas également dans Notepad


en mettant Unicode.

Mais c'est dommage que osql n'ait pas l'option -C


codepage comme dans bcp

A+
Sébastien

.



Avatar
Sebastien
Bonjour / Bonsoir,

Je ne vois pas trop le problème du batch dans ce cas.
Le fait de créer les scripts sql avec l'analyseur de requêtes version
Windows et de les enregistrer en format OEM (cp850) n'empêche absolument pas
de les exécuter ensuite avec osql depuis un batch en mode ligne de commande
!!!

a+
Sébastien

"Alain" a écrit dans le message de
news:b59e01c3b8fe$5adb20a0$
Bonsoir,
Pourquoi ne pas utiliser l'analyseur de requête de sql


server comme éditeur
Parce que la requête à exécuter se fait dans un batch.
Alain

-----Message d'origine-----
A noter, il doit bien exister des éditeurs de texte




sous Windows capables
d'enregistrer des fichiers en ASCII...



Bonjour,

Pourquoi ne pas utiliser l'analyseur de requête de sql


server comme éditeur
en mettant l'option Format de fichier à OEM (cp 850) dans


les boites
d'ouverture et d'enregistrement des fichiers .sql (ou


mettre OEM comme
valeur par défaut dans les options/editeur ) ?

Je me demande si ça ne marche pas également dans Notepad


en mettant Unicode.

Mais c'est dommage que osql n'ait pas l'option -C


codepage comme dans bcp

A+
Sébastien

.



Avatar
Alain
Bonsoir,
Le fait de créer les scripts sql avec l'analyseur de


Désolé, je n'avais pas compris, je pensais que tu parlais
d'exécution. C'est effectivement une bonne idée, je vais
essayer.
Merci,

-----Message d'origine-----
Bonjour / Bonsoir,

Je ne vois pas trop le problème du batch dans ce cas.
Le fait de créer les scripts sql avec l'analyseur de


requêtes version
Windows et de les enregistrer en format OEM (cp850)


n'empêche absolument pas
de les exécuter ensuite avec osql depuis un batch en mode


ligne de commande
!!!

a+
Sébastien

"Alain" a écrit


dans le message de
news:b59e01c3b8fe$5adb20a0$
Bonsoir,
Pourquoi ne pas utiliser l'analyseur de requête de sql


server comme éditeur
Parce que la requête à exécuter se fait dans un batch.
Alain

-----Message d'origine-----
A noter, il doit bien exister des éditeurs de texte




sous Windows capables
d'enregistrer des fichiers en ASCII...



Bonjour,

Pourquoi ne pas utiliser l'analyseur de requête de sql


server comme éditeur
en mettant l'option Format de fichier à OEM (cp 850) dans


les boites
d'ouverture et d'enregistrement des fichiers .sql (ou


mettre OEM comme
valeur par défaut dans les options/editeur ) ?

Je me demande si ça ne marche pas également dans Notepad


en mettant Unicode.

Mais c'est dommage que osql n'ait pas l'option -C


codepage comme dans bcp

A+
Sébastien

.




.



1 2