[SFML] Polskie znaki ze stringu
Ostatnio zmodyfikowano 2014-11-26 17:23
Hipochondryk Temat założony przez niniejszego użytkownika |
» 2014-11-25 08:04:15 std::setlocale( LC_ALL, "polish" ); z nagłówku locale.h oraz kodowanie Windows 1250; |
|
MrPoxipol |
» 2014-11-25 20:36:25 To działa? sf::String str( L"Zażółć gęślą jaźń" ); text.setText( str ) ? |
|
Hipochondryk Temat założony przez niniejszego użytkownika |
» 2014-11-25 22:12:55 Nie ma takiej metody jak setText. Lecz po uzyciu setString ten sposób działa. Lecz nadal potrzebuję sposób aby z obiektu std::string wyświetlić polskie znaki. |
|
Monika90 |
» 2014-11-25 23:53:42 Czy to działa? any.setString( sf::String( str, std::locale( ".852" ) ) );
Nie podałeś jaki masz kompilator, nazwy locale zależą od kompilatora i systemu operacyjnego. |
|
Hipochondryk Temat założony przez niniejszego użytkownika |
» 2014-11-26 07:30:43 Kompiluje się, ale nie wyświetla polskich znaków. Korzystam z domyślnego kompilatora w Visual Studio 2013. System operacyjny to Windows 8.1 |
|
maly |
» 2014-11-26 11:41:29 Zmień kodowanie plików na utf8 lub koduj stringi tak std::string stdstring( "\u0105\u0119\u015B\u0107\u017A\u017C" ); sf::String sfstring( sf::String::fromUtf8( stdstring.begin(), stdstring.end() ) ); |
|
Hipochondryk Temat założony przez niniejszego użytkownika |
» 2014-11-26 16:55:43 Error 1 error C2039: 'fromUtf8' : is not a member of 'sf::String' Taki błąd. A zmiana kodowania na UTF 8 nic nie pomogła. |
|
maly |
» 2014-11-26 17:11:08 Error 1 error C2039: 'fromUtf8' : is not a member of 'sf::String' |
Strasznie starego SFML-a używasz. std::basic_string < sf::Uint32 > utf8_to_utf32( const std::string & textToConvert ) { std::basic_string < sf::Uint32 > output; sf::Utf8::toUtf32( textToConvert.begin(), textToConvert.end(), std::back_inserter( output ) ); return output; } std::basic_string < sf::Uint32 > utf8_to_utf32( const std::string & textToConvert ) { std::basic_string < sf::Uint32 > output; std::string::const_iterator i = textToConvert.begin(); while( i != textToConvert.end() ) { sf::Uint32 out; i = sf::Utf8::decode( i, textToConvert.end(), out ); output += out; } return output; } sf::String str = utf8_to_utf32( "\u0105\u0119\u015B\u0107\u017A\u017C" ); |
|
1 « 2 » 3 |