• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Polskie znaki w zapisie do pliku CSV - C#

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
1,312 wizyt
pytanie zadane 22 marca 2021 w C# przez disaster Bywalec (2,120 p.)

Cześć, Czy znacie jakiś sposób na to aby zapisywało mi polskie znaki w pliku CSV? 
 

if (!File.Exists(path))
                                    {
                                        sw = File.CreateText(path);
                                        var date = DateTime.Now;
                                        sw = new StreamWriter(path, true);

                                        sw.WriteLine("{0};{1:dd.MM.yyyy};{1:T};{2};{3}", Nrpers.Text, DateTime.Now, Folderkoncowy.Text, "ZATWIERDZONE");
                                        sw.Close();

                                    }

                                    else
                                    {
                                        var date = DateTime.Now;
                                        sw = new StreamWriter(path, true);
                                        sw.WriteLine("{0};{1:dd.MM.yyyy};{1:T};{2};{3};", Nrpers.Text, DateTime.Now, Folderkoncowy.Text, "ZATWIERDZONE");
                                        sw.Close();

                                    }

A w pliku mam takie coś:
a powinno być Grażyna.

GraĹĽyna  19.03.2021 21:51:27 H.ZZ.xxyyzz ZATWIERDZONE

2 odpowiedzi

+1 głos
odpowiedź 22 marca 2021 przez Paweł Nyczkowski Obywatel (1,620 p.)
wybrane 22 marca 2021 przez disaster
 
Najlepsza

spróbuj w ten sposób,  i daj znać czy zadziałało
jednak po testach na 2 stanowiskach wyszło że jedyny sposób to ustawienie strony kodowej na System.Text.Encoding.Default

	if (!File.Exists(path))
		{
			sw = File.CreateText(path);
			sw.WriteLine("{0};{1:dd.MM.yyyy};{1:T}", "START", DateTime.Now);
			sw.Close();
		}
			
			var date = DateTime.Now;
			sw = new StreamWriter(path, true,System.Text.Encoding.Default);

			sw.WriteLine("{0};{1:dd.MM.yyyy};{1:T};{2};{3}", Nrpers.Text, DateTime.Now, Folderkoncowy.Text, "ZATWIERDZONE");
			sw.WriteLine("Grzegrzółka");
			sw.Close();

 

 

 

 

komentarz 22 marca 2021 przez disaster Bywalec (2,120 p.)

Działa!

sw = new StreamWriter(path, true, System.Text.Encoding.Default) ;

Dziękuję! 

+1 głos
odpowiedź 22 marca 2021 przez Velta Maniak (52,790 p.)

Spodziewam się, że plik wynikowy CSV otwierasz później w Excelu. Polskie znaki są, tylko on sobie nie radzi z plikami zapisanymi bez znaku BOM. Wystarczy zapisać ze znakiem BOM i powinno działać:

new StreamWriter(path, true, new UTF8Encoding(true));

 

Podobne pytania

0 głosów
1 odpowiedź 997 wizyt
pytanie zadane 26 lipca 2018 w C# przez Siewier97 Nowicjusz (120 p.)
0 głosów
1 odpowiedź 612 wizyt
pytanie zadane 11 maja 2020 w C i C++ przez Majster6918 Gaduła (4,030 p.)
0 głosów
1 odpowiedź 282 wizyt

93,173 zapytań

142,184 odpowiedzi

321,968 komentarzy

62,502 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 1157p. - dia-Chann
  2. 1139p. - Łukasz Piwowar
  3. 1131p. - CC PL
  4. 1126p. - Łukasz Eckert
  5. 1118p. - Tomasz Bielak
  6. 1104p. - Michal Drewniak
  7. 1083p. - Marcin Putra
  8. 1078p. - rucin93
  9. 1071p. - rafalszastok
  10. 1054p. - Adrian Wieprzkowicz
  11. 1047p. - Piotr Aleksandrowicz
  12. 1037p. - Michał Telesz
  13. 1017p. - Mikbac
  14. 1005p. - ssynowiec
  15. 992p. - Dominik Łempicki (kapitan)
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...