Dans une application en CSharp j'utilse StreamReader pour lire des fichier de
code source (.cs). Je doit Stocker les ligne du fichier dans une variable
string, malheureusement, aucun des type de encoding ne réussi à lire la ligne
telle qu'elle est. Certain Encoding ne lisent pas la ligne du tout, d'autres
ne lisent pas les accents et d'autre ne lisent pas les symbole + pour la
concaténation.
Quelqu'un connait-il une façon de lire les fichier .cs avec exactitude, ou
encore connaissez vous le type d'encoding de ces fichiers ?
La norme impose que tout compilateur C# sache lire un fichier encodé en utf-8. Si vos fichiers ne sont pas en utf-8, essayez de voir s'ils ne sont pas en ANSI (Encoding.Default) : le compilateur C# fourni avec le framework.net supporte aussi cet encodage. Si ça ne marche toujours pas : quel éditeur utilisez vous ?
Les fichier .cs que j'utilise sont encoder en ANSI mais même si j'utilise System.Text.Encoding.ASCII les accent sont remplacés par "?". Quant à l'éditeur que j'utilise je ne sais pas comment vérifier alors si tu peux me dire comment faire je pourrai te dire lequel j'utilise. Je ne sais pas si ça peut aider mais j'utilise .Net Framework 1.1.
Merci de votre aide
"Zazar" a écrit :
La norme impose que tout compilateur C# sache lire un fichier encodé en
utf-8. Si vos fichiers ne sont pas en utf-8, essayez de voir s'ils ne sont
pas en ANSI (Encoding.Default) : le compilateur C# fourni avec le
framework.net supporte aussi cet encodage. Si ça ne marche toujours pas :
quel éditeur utilisez vous ?
Les fichier .cs que j'utilise sont encoder en ANSI mais même si j'utilise
System.Text.Encoding.ASCII les accent sont remplacés par "?". Quant à
l'éditeur que j'utilise je ne sais pas comment vérifier alors si tu peux me
dire comment faire je pourrai te dire lequel j'utilise. Je ne sais pas si ça
peut aider mais j'utilise .Net Framework 1.1.
La norme impose que tout compilateur C# sache lire un fichier encodé en utf-8. Si vos fichiers ne sont pas en utf-8, essayez de voir s'ils ne sont pas en ANSI (Encoding.Default) : le compilateur C# fourni avec le framework.net supporte aussi cet encodage. Si ça ne marche toujours pas : quel éditeur utilisez vous ?
Les fichier .cs que j'utilise sont encoder en ANSI mais même si j'utilise System.Text.Encoding.ASCII les accent sont remplacés par "?". Quant à l'éditeur que j'utilise je ne sais pas comment vérifier alors si tu peux me dire comment faire je pourrai te dire lequel j'utilise. Je ne sais pas si ça peut aider mais j'utilise .Net Framework 1.1.
Merci de votre aide
Zazar
> Les fichier .cs que j'utilise sont encoder en ANSI mais même si j'utilise System.Text.Encoding.ASCII les accent sont remplacés par "?".
Pour de l'ANSI, il faut utiliser System.Encoding.Default.
Quant à l'éditeur que j'utilise je ne sais pas comment vérifier alors si tu peux me dire comment faire je pourrai te dire lequel j'utilise. Je ne sais pas si ça peut aider mais j'utilise .Net Framework 1.1.
D'où viennent vos fichiers .cs ? C'est vous qui les écrivez ? Si oui avec quoi les écrivez vous (Visual Studio, le bloc-notes, ...) ?
--
Zazar
> Les fichier .cs que j'utilise sont encoder en ANSI mais même si j'utilise
System.Text.Encoding.ASCII les accent sont remplacés par "?".
Pour de l'ANSI, il faut utiliser System.Encoding.Default.
Quant à
l'éditeur que j'utilise je ne sais pas comment vérifier alors si tu peux
me
dire comment faire je pourrai te dire lequel j'utilise. Je ne sais pas si
ça
peut aider mais j'utilise .Net Framework 1.1.
D'où viennent vos fichiers .cs ? C'est vous qui les écrivez ? Si oui avec
quoi les écrivez vous (Visual Studio, le bloc-notes, ...) ?
> Les fichier .cs que j'utilise sont encoder en ANSI mais même si j'utilise System.Text.Encoding.ASCII les accent sont remplacés par "?".
Pour de l'ANSI, il faut utiliser System.Encoding.Default.
Quant à l'éditeur que j'utilise je ne sais pas comment vérifier alors si tu peux me dire comment faire je pourrai te dire lequel j'utilise. Je ne sais pas si ça peut aider mais j'utilise .Net Framework 1.1.
D'où viennent vos fichiers .cs ? C'est vous qui les écrivez ? Si oui avec quoi les écrivez vous (Visual Studio, le bloc-notes, ...) ?
--
Zazar
Alex St-laurent
"Zazar" a écrit :
D'où viennent vos fichiers .cs ? C'est vous qui les écrivez ? Si oui avec quoi les écrivez vous (Visual Studio, le bloc-notes, ...) ?
Nous les écrivons avec Visual Studio.
"Zazar" a écrit :
D'où viennent vos fichiers .cs ? C'est vous qui les écrivez ? Si oui avec
quoi les écrivez vous (Visual Studio, le bloc-notes, ...) ?
Et je fais comment pour vérifiez dans le débogueur ?
Pour faire simple, ajoutez ça dans votre code une fois que la chaîne (s) est chargée:
char[] arr; arr = s.ToCharArray();
Examinez ensuite le contenu de arr et vérifiez les codes ascii.
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
Zazar
>> D'où viennent vos fichiers .cs ? C'est vous qui les écrivez ? Si oui avec quoi les écrivez vous (Visual Studio, le bloc-notes, ...) ?
Nous les écrivons avec Visual Studio.
Visual Studio écrit par défaut en ANSI (en tout cas ma version) : System.Text.Encoding.Default n'a pas fonctionné ?
Sinon, prenez un fichier dans visual studio, faîtes enregistrer-sous -> enregistrer avec codage (le petit bouton à coté du bouton enregistrer) et là vous verrez quel encodage il utilise.
--
Zazar
>> D'où viennent vos fichiers .cs ? C'est vous qui les écrivez ? Si oui avec
quoi les écrivez vous (Visual Studio, le bloc-notes, ...) ?
Nous les écrivons avec Visual Studio.
Visual Studio écrit par défaut en ANSI (en tout cas ma version) :
System.Text.Encoding.Default n'a pas fonctionné ?
Sinon, prenez un fichier dans visual studio, faîtes enregistrer-sous ->
enregistrer avec codage (le petit bouton à coté du bouton enregistrer) et là
vous verrez quel encodage il utilise.
>> D'où viennent vos fichiers .cs ? C'est vous qui les écrivez ? Si oui avec quoi les écrivez vous (Visual Studio, le bloc-notes, ...) ?
Nous les écrivons avec Visual Studio.
Visual Studio écrit par défaut en ANSI (en tout cas ma version) : System.Text.Encoding.Default n'a pas fonctionné ?
Sinon, prenez un fichier dans visual studio, faîtes enregistrer-sous -> enregistrer avec codage (le petit bouton à coté du bouton enregistrer) et là vous verrez quel encodage il utilise.
--
Zazar
Alex St-laurent
"Patrick Philippot" wrote:
Pour faire simple, ajoutez ça dans votre code une fois que la chaîne (s) est chargée:
char[] arr; arr = s.ToCharArray();
Examinez ensuite le contenu de arr et vérifiez les codes ascii.
J'ai essayer cette technique après avoir lu ce message, lors de l'exécution de l'applicatoin j'ai glissé arr dans la fenetre Watch et j'ai vérigier tout les caractère qu'il contenait, malheureusement les accent y sont aussi remplacer par "?".
"Patrick Philippot" wrote:
Pour faire simple, ajoutez ça dans votre code une fois que la chaîne (s)
est chargée:
char[] arr;
arr = s.ToCharArray();
Examinez ensuite le contenu de arr et vérifiez les codes ascii.
J'ai essayer cette technique après avoir lu ce message, lors de l'exécution
de l'applicatoin j'ai glissé arr dans la fenetre Watch et j'ai vérigier tout
les caractère qu'il contenait, malheureusement les accent y sont aussi
remplacer par "?".
Pour faire simple, ajoutez ça dans votre code une fois que la chaîne (s) est chargée:
char[] arr; arr = s.ToCharArray();
Examinez ensuite le contenu de arr et vérifiez les codes ascii.
J'ai essayer cette technique après avoir lu ce message, lors de l'exécution de l'applicatoin j'ai glissé arr dans la fenetre Watch et j'ai vérigier tout les caractère qu'il contenait, malheureusement les accent y sont aussi remplacer par "?".
Alex St-laurent
"Zazar" a écrit :
Visual Studio écrit par défaut en ANSI (en tout cas ma version) : System.Text.Encoding.Default n'a pas fonctionné ?
Sinon, prenez un fichier dans visual studio, faîtes enregistrer-sous -> enregistrer avec codage (le petit bouton à coté du bouton enregistrer) et là vous verrez quel encodage il utilise.
Voila ce n'était que ça, Merci. Je cherchait quel System.Text.Encoding marcherait, je croiyait que c'était ASCII mais Default fonctionne.
"Zazar" a écrit :
Visual Studio écrit par défaut en ANSI (en tout cas ma version) :
System.Text.Encoding.Default n'a pas fonctionné ?
Sinon, prenez un fichier dans visual studio, faîtes enregistrer-sous ->
enregistrer avec codage (le petit bouton à coté du bouton enregistrer) et là
vous verrez quel encodage il utilise.
Voila ce n'était que ça, Merci. Je cherchait quel System.Text.Encoding
marcherait, je croiyait que c'était ASCII mais Default fonctionne.
Visual Studio écrit par défaut en ANSI (en tout cas ma version) : System.Text.Encoding.Default n'a pas fonctionné ?
Sinon, prenez un fichier dans visual studio, faîtes enregistrer-sous -> enregistrer avec codage (le petit bouton à coté du bouton enregistrer) et là vous verrez quel encodage il utilise.
Voila ce n'était que ça, Merci. Je cherchait quel System.Text.Encoding marcherait, je croiyait que c'était ASCII mais Default fonctionne.
Alex St-laurent
Finalement, les fichier .Cs sont encoder en ANSI et non en ASCII, je croiyait que c'était la même chose mais ils semble que non car System.Text.Encoding.ASCII ne fonctionnait pas. Je doit utiliser System.Text.Encoding.Default.
Merci de ton aide.
Finalement, les fichier .Cs sont encoder en ANSI et non en ASCII, je croiyait
que c'était la même chose mais ils semble que non car
System.Text.Encoding.ASCII ne fonctionnait pas. Je doit utiliser
System.Text.Encoding.Default.
Finalement, les fichier .Cs sont encoder en ANSI et non en ASCII, je croiyait que c'était la même chose mais ils semble que non car System.Text.Encoding.ASCII ne fonctionnait pas. Je doit utiliser System.Text.Encoding.Default.
Merci de ton aide.
Patrick Philippot
Alex St-laurent wrote:
J'ai essayer cette technique après avoir lu ce message, lors de l'exécution de l'applicatoin j'ai glissé arr dans la fenetre Watch et j'ai vérigier tout les caractère qu'il contenait, malheureusement les accent y sont aussi remplacer par "?".
En fait, il faudrait visualiser sous forme de tableau d'octets dans la Memory Window mais ce n'est pas simple en C#. Il faudrait désassembler le code qui manipule la chaîne dans la fenêtre de désasssemblage pour repérer l'adresse ou le registre qui contient l'adresse et entrer cette adresse dans la Memory Window. Puisque vous n'êtes pas familier avec VS, nous allons vous éviter ça.
Quand vous chargez ce fichier source dans Notepad, est-ce qu'il s'affiche correctement?
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
Alex St-laurent wrote:
J'ai essayer cette technique après avoir lu ce message, lors de
l'exécution de l'applicatoin j'ai glissé arr dans la fenetre Watch et
j'ai vérigier tout les caractère qu'il contenait, malheureusement les
accent y sont aussi remplacer par "?".
En fait, il faudrait visualiser sous forme de tableau d'octets dans la
Memory Window mais ce n'est pas simple en C#. Il faudrait désassembler
le code qui manipule la chaîne dans la fenêtre de désasssemblage pour
repérer l'adresse ou le registre qui contient l'adresse et entrer cette
adresse dans la Memory Window. Puisque vous n'êtes pas familier avec VS,
nous allons vous éviter ça.
Quand vous chargez ce fichier source dans Notepad, est-ce qu'il
s'affiche correctement?
--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
J'ai essayer cette technique après avoir lu ce message, lors de l'exécution de l'applicatoin j'ai glissé arr dans la fenetre Watch et j'ai vérigier tout les caractère qu'il contenait, malheureusement les accent y sont aussi remplacer par "?".
En fait, il faudrait visualiser sous forme de tableau d'octets dans la Memory Window mais ce n'est pas simple en C#. Il faudrait désassembler le code qui manipule la chaîne dans la fenêtre de désasssemblage pour repérer l'adresse ou le registre qui contient l'adresse et entrer cette adresse dans la Memory Window. Puisque vous n'êtes pas familier avec VS, nous allons vous éviter ça.
Quand vous chargez ce fichier source dans Notepad, est-ce qu'il s'affiche correctement?
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
Patrick Philippot
Alex St-laurent wrote:
Voila ce n'était que ça, Merci. Je cherchait quel System.Text.Encoding marcherait, je croiyait que c'était ASCII mais Default fonctionne.
et aussi:
malheureusement, aucun des type de encoding ne réussi à lire la ligne telle qu'elle est.
Comme quoi une bonne formulation (et une bonne vérification) au départ évitent parfois des errements inutiles.
Aviez-vous essayé le constructeur sans argument encoding comme je l'avais proposé au départ?
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
Alex St-laurent wrote:
Voila ce n'était que ça, Merci. Je cherchait quel System.Text.Encoding
marcherait, je croiyait que c'était ASCII mais Default fonctionne.
et aussi:
malheureusement, aucun des type de encoding ne réussi à lire la ligne
telle qu'elle est.
Comme quoi une bonne formulation (et une bonne vérification) au départ
évitent parfois des errements inutiles.
Aviez-vous essayé le constructeur sans argument encoding comme je
l'avais proposé au départ?
--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr