J'essaye de faire un petit outil pour aider certains types convertissant des données entre une installation de SAP et une installation d'Axapta.Streamwriter: les caractères polonais sont ignorés?
Je reçois un fichier texte en codage Western European (Windows) (1252). Ils ont mis des caractères spéciaux pour remplacer certains caractères polonais. Maintenant, mon travail consiste à remplacer ces caractères spéciaux par les caractères polonais corrects.
FileStream objFile = new FileStream(FilePath, FileMode.Open, FileAccess.Read,FileShare.Read);
StreamReader objTemp = new StreamReader(objFile, Encoding.GetEncoding(1252));
FileStream objFile2 = new FileStream(FilePath + "_new", FileMode.OpenOrCreate,FileAccess.Write);
StreamWriter objTemp2 = new StreamWriter(objFile2, Encoding.GetEncoding(1252));
while ((strLineText = objTemp.ReadLine()) != null)
{
for (int i = 0; i < strOuterArray.Length; i++)
{
string[] strInnerArray = strOuterArray[i].Split(new char[]{';'});
strLineText = strLineText.Replace(strInnerArray[0], strInnerArray[1]);
}
objTemp2.WriteLine(strLineText);
}
objTemp.Close();
objTemp.Dispose();
objFile.Close();
objFile.Dispose();
objTemp2.Flush();
objTemp2.Close();
Si je déboguer l'application et définir un point d'arrêt sur la "objTemp2.WriteLine (strLineText);" ligne. Ensuite, je peux voir que la valeur dans la variable strLineText est parfaite. Le caractère spécial est remplacé par le caractère polonais correct.
Si j'ouvre le fichier écrit par la suite, je ne trouve pas les caractères polonais corrects. Je travaille avec "¶" & "Ś", les deux sont juste enregistrés comme "s" & "S" dans le fichier.
Ai-je raté quelque chose ou ai-je négligé quelque chose de très important?
Merci pour la réponse rob. Non - les caractères ne sont pas listés sur la page que vous liez. Je leur ai dit que je pense qu'ils utilisent le mauvais encodage, mais ils ne vont pas écouter. Maintenant j'ai quelque chose à leur donner et ensuite ils peuvent voir pour eux-mêmes. Merci beaucoup! –