malan Temat założony przez niniejszego użytkownika |
[cURL + WinAPI] Polskie znaki » 2009-12-25 18:09:00 Witam, mam problem z polskimi znaki w WinAP- sytuacja wygląda tak: pobieram z serwera (za pomocą curl-a) dane z pliku i zapisuje je do zmiennej std::string, następnie chciałbym je wyświetlić w np. MessageBox, a tu niespodzianka - krzaczory ;p. Zapisując do pliku te dane wyglądają one normalnie, ale po pobraniu i próby wyświetlenia ... wiadomo. Wydaje mi się, że to sprawa kodowania - na serwerze polskie znaki są kodowane inaczej niż w WinAPI (jeśli można tak to ująć). Idąc tym tropem poczytałem trochę o kodowaniu html i próbowałem podmieniać znaki, ale nie wyszło, sprawdzałem też MultiByteToWideChar, ale z tym samym skutkiem. W dokumentacji curl-a za dużo też o kodowaniu (zmiany kodowania) się nie dowiedziałem ;p, więc zwracam się do Was. Hmmm mógłby mi ktoś powiedzieć jak jest kodowany ten plik, a jak powinien być kodowany żeby nie było krzaczków w WinAPI (ja już się zakręciłem) ? ;) |
|
DejaVu |
» 2009-12-25 19:19:50 Chodzi o to, że pobierasz dane w formacie UTF-8. Musisz sobie je przekonwertować. |
|
malan Temat założony przez niniejszego użytkownika |
» 2009-12-25 21:41:40 Ok, na Windows 1250, tak ? ;> |
|
DejaVu |
» 2009-12-26 00:48:07 Chyba tak, ale to kwestia czy piszesz aplikację w standardzie Unicode'a czy nie. |
|
malan Temat założony przez niniejszego użytkownika |
» 2009-12-26 17:11:14 Piszę projekt w CB, w WinAPI, także chyba jest Unicode.Zaraz pokombinuje z tą konwersją. //edit: Coś mi nie wychodzi... Zamiast ładne przerobionych danych mam... śmieci... ;/: LPCSTR lpcstr = dane_z_cURL.c_str(); LPWSTR buffor; MultiByteToWideChar( CP_UTF8, 0, lpcstr, - 1, buffor, 0 );
|
|
DejaVu |
» 2009-12-27 01:12:01 Wątpię, że używasz unicode'a :) |
|
malan Temat założony przez niniejszego użytkownika |
» 2009-12-27 01:20:41 Yhhh..., dobra to jak ustalę jakiego kodowanie używam to wrócę do tematu ;p. // edit: "(...) Ta konwersja znaków mnie dobiła, od 3 dni szukam jakiegoś sposobu i bez żadnego efektu. i tu prośba do Pana - przez przypadek natrafiłem na taką funkcję iconv (ale w php)- tak sobie pomyślałem, czy nie dałoby się tak zrobić aby konwersja przebiegała już na etapie zapisywania danych do pliku? Jeśli miałby Pan trochę czasu byłyby wdzięczny gdyby Pan zerknął: http://pl.php.net/manual/pl/function.iconv.php(...)". |
|
DejaVu |
» 2009-12-30 09:32:51 Ja tam lubię mieć wszystko w UTF-8 :P Możesz zrobić string replace na polskich znakach... no ale jak dojdę do siebie to może zmienię kodowanie tego jedneog pliku... tylko jakie byś chciał? |
|
« 1 » 2 |