Ostatnio trafiłem na ciekawą funkcję systemu Windows. Otóż dźwięki systemowe zawierają sekcję Microsoft Visual Studio, gdzie możemy przypisać dźwięk do niektórych zdarzeń.
Jest to pomocne przy pracy z dużymi projektami, które budują się na tyle długo, że powodują rozproszenie uwagi. Dźwięk zagrany na przy udanym/nieudanym budowaniu pomaga się oderwać od przeglądania internetu.
Przegląd technologii programistycznych
Blog jest przeglądem rozwiązań programistycznych. Obejmuje większość zagadnień powiązanych z technologią .Net, Java i HTML5.
wtorek, 7 lutego 2017
środa, 4 czerwca 2014
Polskie znaki w pliku CSV, epizod drugi
W poprzednim wpisie opisałem jak wymusić na Exelu kodowanie UTF8. Okazuje się, że dodanie preambuły poprawia wyświetlanie znaków, ale ma też wpływ na okno dialogowe "Zapisz Jako".

Jak widać na załączonym obrazku, nie wypełnia się domyślna nazwa pliku, oraz "Zapisz jako typ" ustawia się na *.txt zamiast *.csv.
Z pomocą przychodzi kodowanie Windows-1250.
Dzięki temu Excel nadal wyświetla poprawne znaki, ale dodatkowo nie tracimy poprawnych wartości w "Zapisz jako".
Jak widać na załączonym obrazku, nie wypełnia się domyślna nazwa pliku, oraz "Zapisz jako typ" ustawia się na *.txt zamiast *.csv.
Z pomocą przychodzi kodowanie Windows-1250.
var encoding = Encoding.GetEncoding("windows-1250"); byte[] bytes = encoding.GetBytes(csv.Replace("\r\n", "\n")); bytes = encoding.GetPreamble().Concat(bytes).ToArray();
Dzięki temu Excel nadal wyświetla poprawne znaki, ale dodatkowo nie tracimy poprawnych wartości w "Zapisz jako".
środa, 30 kwietnia 2014
Polskie znaki w pliku CSV
Często musimy wygenerować pliki CSV po stronie ASP.NET. Niestety użycie kodowania UTF8 nie gwarantuje poprawnego wyświetlania polskich znaków w Excelu.

Wygląda na to, że Excel domyślnie nie stosuje kodowania UTF8. Aby "zmusić" go do tego, należy dodać BOM na początku strumienia.
Teraz otwierając ściągnięty plik w Excelu, widzimy polskie znaki.

Żródło:http://stackoverflow.com/questions/4414088/how-to-getbytes-in-c-sharp-with-utf8-encoding-with-bom
Wygląda na to, że Excel domyślnie nie stosuje kodowania UTF8. Aby "zmusić" go do tego, należy dodać BOM na początku strumienia.
string csv = GenerateCsv(); var encoding = Encoding.UTF8; byte[] bytes = encoding.GetBytes(csv); bytes = Encoding.UTF8.GetPreamble().Concat(bytes).ToArray();
// ... return application/octet-stream with filename=something.csv
Teraz otwierając ściągnięty plik w Excelu, widzimy polskie znaki.
Żródło:http://stackoverflow.com/questions/4414088/how-to-getbytes-in-c-sharp-with-utf8-encoding-with-bom
Subskrybuj:
Posty (Atom)