Я пытаюсь сделать небольшой инструмент, помогающий некоторым ребятам преобразовывать данные между установкой SAP и установкой Axapta.Streamwriter: польские символы пропускаются?
Я получаю текстовый файл i кодировка западноевропейского (Windows) (1252). Они надели некоторые специальные символы, чтобы заменить некоторых польских персонажей. Теперь моя работа - заменить эти специальные символы правильными польскими символами.
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();
Если я отладки приложения и установить точку останова на "objTemp2.WriteLine (strLineText);" линия. Тогда я могу понять, что значение внутри переменной strLineText является совершенным. Специальный символ заменяется правильным польским символом.
Если после этого я открою письменный файл, я не смогу найти правильных польских символов. Я работаю с «ś» & «Ś», оба сохранены как «s» & «S» в файле.
Я пропустил что-то или упустил из виду что-то очень важное?
Спасибо за ответ rob. Нет - символы не указаны на странице, на которую вы ссылаетесь. Я говорю им, что я думаю, что они используют неправильную кодировку, но они не послушат. Теперь у меня есть кое-что, чтобы дать им, и тогда они могут видеть для себя. Спасибо! – 2009-12-17 17:29:33