Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[SFML] Polskie znaki ze stringu

Ostatnio zmodyfikowano 2014-11-26 17:23
Autor Wiadomość
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;
P-121345
MrPoxipol
» 2014-11-25 20:36:25
To działa?
C/C++
sf::String str( L"Zażółć gęślą jaźń" );
text.setText( str )
?
P-121402
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.
P-121413
Monika90
» 2014-11-25 23:53:42
Czy to działa?
C/C++
any.setString( sf::String( str, std::locale( ".852" ) ) );

Nie podałeś jaki masz kompilator, nazwy locale zależą od kompilatora i systemu operacyjnego.
P-121423
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
P-121427
maly
» 2014-11-26 11:41:29
Zmień kodowanie plików na utf8 lub koduj stringi tak
C/C++
std::string stdstring( "\u0105\u0119\u015B\u0107\u017A\u017C" );
sf::String sfstring( sf::String::fromUtf8( stdstring.begin(), stdstring.end() ) );
P-121428
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.
P-121443
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.

C/C++
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;
}

C/C++
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" );
P-121445
1 « 2 » 3
Poprzednia strona Strona 2 z 3 Następna strona