midou001987
Messages postés10Date d'inscriptionvendredi 12 février 2010StatutMembreDernière intervention 7 juin 2012
-
9 avril 2010 à 22:11
cs_GG29
Messages postés326Date d'inscriptionvendredi 23 décembre 2005StatutMembreDernière intervention 8 février 2011
-
13 avril 2010 à 13:09
salut à tous,
je suis en trin de développer une application aspx.cs et j'ai une procédure qui nécessite la lecture puis la réécriture dans le même fichier le mémé texte après une opération de filtrage avec la fonction suivante:
private string Filtrage(string ch)
{
string res="";
ch = ch.ToLower();
for (int i = 0; i < ch.Length; i++)
{
if (ch[i] == 'é' || ch[i] == 'è' || ch[i] == 'ê' || ch[i] == 'ë')
res += 'e';
else
if (ch[i] == 'à' || ch[i] == 'â' || ch[i] == 'ä')
res += 'a';
else
if (ch[i] == 'î' || ch[i] == 'ï')
res += 'i';
else
if (ch[i] == 'ô' || ch[i] == 'ö')
res += 'o';
else
if (ch[i] == 'ù' || ch[i] == 'û' || ch[i] == 'ü')
res += 'u';
else
if (ch[i] == ',' || ch[i] == '"' || ch[i] == '\'' || ch[i] == ';' || ch[i] == '!' || ch[i] == '?' || ch[i] == '$' || ch[i] == '&' || ch[i] == ')' || ch[i] == '(' || ch[i] == '.' || ch[i] == ':' || ch[i] == '-' || ch[i] == '_' || ch[i] == '-' || ch[i] == ']' || ch[i] == '[' || ch[i] == '/')
res += ' ';
else
res += ch[i];
}
return res;
}
et ce code pour l'appel de la fonction:
StreamReader sr = new StreamReader(Savetxt); //Savetxt est l'emplacement du fichier
string corps = "";
corps = sr.ReadToEnd();
corps = Filtrage(corps);
sr.Close();
StreamWriter swr = new StreamWriter(Savetxt);
swr.Write(corps);
swr.Close();
le problème est que après le filtrage
les lettres accentuées sont devienne des lettre inconnue :
spécialité => sp�cialit�;
midou001987
Messages postés10Date d'inscriptionvendredi 12 février 2010StatutMembreDernière intervention 7 juin 2012 13 avril 2010 à 01:25
le problème est que j'ai un document Word et je le convertit en ".txt", lors du convertisse-ment les lettres accentuées dans le fichier produit sont remplacées par des carrées et ceci le convertisseur utilisée :
void DocToTxt(string docPath, string htmlPath)
{
// ouverture de Word
Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.Application();
// on le cache !
app.Visible = false;
// pour les paramètres qu’on ne va pas fournir :
object o = Missing.Value;
object docFile = docPath; // chemin du doc avec transtypage
// Ouverture du document :
_Document doc = app.Documents.Open(ref docFile, ref o, ref o,
ref o, ref o, ref o, ref o, ref o, ref o, ref o, ref o,
ref o, ref o, ref o, ref o, ref o);
object fileName = htmlPath; // Chemin de destination
object format = Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatText;//Txt
// On enregistre le doc au format texte :
doc.SaveAs(ref fileName, ref format, ref o, ref o, ref o, ref o,
ref o, ref o, ref o, ref o, ref o, ref o, ref o,
ref o, ref o, ref o);
doc.Close(ref o, ref o, ref o);
// On quitte en évitant les messages de fermeture
app.Quit(ref o, ref o, ref o);
}
cs_GG29
Messages postés326Date d'inscriptionvendredi 23 décembre 2005StatutMembreDernière intervention 8 février 201117 13 avril 2010 à 13:09
Il existe plusieurs format de sauvegarde. Je ne suis pas un expert mais je pense que tu devrais essayer un des deux.
wdFormatEncodedText
wdFormatUnicodeText
PS : convertisse-ment : je pense qu'on dit conversion
Généralement le bug se situe entre le clavier et la chaise.
Le temps est une "chose" introuvable dont l'existence ne fait aucun doute.