Witam.
Chcę w pliku RTF podstawić tekst z polskimi znakami.
Ale w pliku wynikowym wynik.rtf zamiast
ĄŚŻŹąśżźćłó
mamĄŚŻŹąśżźćłó
Jak pozbyć się tych robali?
Co zmienić w poniższym kodzie ?
Dzięki za pomoc
<code class="c#">protected void btnWstaw_Click(object sender, EventArgs e)
{
string jakisStringPL = "ĄŚŻŹąśżźćłó";
// --- tu powinno przekodować z UTF-8 na Windows-1250
Encoding w = Encoding.GetEncoding("Windows-1250");
Encoding utf8 = Encoding.UTF8;
byte[] utfBytes = utf8.GetBytes(jakisStringPL);
byte[] wBytes = Encoding.Convert(utf8, w, utfBytes);
string przekodowanyStringPL = w.GetString(wBytes);
// ---
StreamWriter notesik;
notesik = File.CreateText("c:\\wynik.rtf");
if (FileUpload1.HasFile)
{
Stream stream = FileUpload1.FileContent;
StreamReader reader = new StreamReader(stream);
string strLine = "";
StringBuilder str = new StringBuilder();
do
{
strLine = reader.ReadLine();
str.Replace("AAAAA", przekodowanyStringPL);
str.Append(strLine);
} while (strLine != null);
notesik.WriteLine(str);
notesik.Close();
}
Kodowanie w VS2010Pro jest domyślne czyli (?) UTF-8, a w pliku RTF chyba Windows-1250 (Win7Pro PL, Word 2003).