Mistrzu350 Temat założony przez niniejszego użytkownika |
[SFML 2.1, C++, C::B] Polskich znaków ciąg dalszy... » 2014-07-14 19:51:09 Witam!
Bawię się sfml'em i napotkałem na pewien problem. Konkretnie nie potrafię wyświetlić w w oknie tekstu z polskimi znakami. Wiem, że to nie pierwszy temat w tym stylu, ale musicie mi uwierzyć, że na prawdę starałem się uważnie przyjrzeć każdemu z istniejących już tematów. Sposoby, które sprawdziły się u innych i mnie nie chciały. Nie jestem pewien w czym leży problem, może coś źle piszę, może coś z ustawieniami CB albo kompilatora... Ogólnie rzecz biorąc tylko Ó wyświetla się poprawnie.
Proszę uprzejmie o pomoc i pozdrawiam :) |
|
pekfos |
» 2014-07-14 20:22:56 Czcionka ma polskie znaki? Masz odpowiednie kodowanie plików źródłowych? |
|
Mistrzu350 Temat założony przez niniejszego użytkownika |
» 2014-07-14 20:30:07 Czcionka ma polskie znaki. Zakładasz metodę odczytywania tekstu z plików, dobrze zrozumiałem? Sprawdzałem, ale chyba tylko dla jednego kodowania, zaraz się pobawię...
edit Więc tak, na razie nic bo getline nie przyjmuje sf::String, więc bezpośrednio z pliku do niego nie mogę przenieść tekstu. Pojawia się teraz pytanie jak przerobić std::string na sf::String... widziałem jeszcze w innych tematach coś w wstringu, spróbuję go zastosować...
edit2 próbowałem na ANSI, Unicode i UTF-8, jako sf::Stringa podawałem stringa i wstringa, różnica jest tylko taka że inne nieokreślone znaki występują, raz więcej raz mniej :/ |
|
killjoy |
» 2014-07-14 22:19:13 Zmień kodowanie pliku z kodem C++ na windows-1250, a na początku funkcji main() wklep std::setlocale( LC_ALL, "polish" ); . Pamiętaj też, żeby doinkludować #include <locale> . U mnie taka konfiguracja działa. |
|
Mistrzu350 Temat założony przez niniejszego użytkownika |
» 2014-07-15 09:08:50 Zadziałało w przypadku podania tekstu w kodzie, na odczyt z pliku nie wpłynęło, ale bardzo dziękuję :) to już znaczny krok na przód...
To teraz, ma ktoś pomysł jak odczytać z pliku tekst z polskimi znakami i go wyświetlić? :) |
|
unkn9wn |
» 2014-07-15 10:00:52 |
|
Witold |
» 2014-07-15 10:29:01 sf::String::fromUtf8 |
|
Mistrzu350 Temat założony przez niniejszego użytkownika |
» 2014-07-15 14:31:00 Nie nadążam za zwrotami akcji w C::B xD rano działało, teraz zaglądam w kod, w miejscu gdzie napisałem "zażółć gęślą jaźń" widnieje "za?ó3a geol1 jaYn" Ale wyświetla się poprawnie. Nwm kiedy, ani jak, ale musiałem to jakoś prze-konwertować (?) Próbowałem więc znaleźć sposób jak to się stało, wpisałem znów "zażółć gęślą jaźń" ale tym razem się nie zamieniło. Usunąłem z kodu std::setlocale( LC_ALL, "polish" ); i #include <locale>, skompilowałem, dodałem z powrotem i... roszada, tekst z pliku w kodowaniu ANSI wyświetlił się poprawnie, a tekst z kody nie. Ta wersja jest dla mnie bardziej korzystna i chyba już nic nie będę mieszał skoro działa. Na wszelki wypadek jeszcze nie zamykam tematu. |
|
« 1 » |