Kodowanie chińskich znaków
Ostatnio zmodyfikowano 2016-08-18 02:29
j23 |
» 2016-08-15 19:46:44 Załącz <windows.h> i daj L przed literałem tekstowym (patrz przykład). |
|
bati22 Temat założony przez niniejszego użytkownika |
» 2016-08-15 19:50:57 Ok, działa, tylko nic się nie wyświetla. #include <string> #include <iostream> #include<windows.h> using namespace std;
int main() { wstring Kanji = L"漢字"; if( SetConsoleOutputCP( 932 ) ) { setlocale( LC_CTYPE, ".932" ); std::wstring Kanji = L"漢字"; std::wcout << Kanji << L'\n'; } return 0; }
|
|
j23 |
» 2016-08-15 19:56:32 Czyli jest tak, jak pisałem. Konsola windowsowa to jest dość prosty interfejs znakowy, generalnie do bardziej złożonych rzeczy (w kwestii wyświetlania) powinieneś użyć graficznego interfejsu, który daje większe możliwości. |
|
bati22 Temat założony przez niniejszego użytkownika |
» 2016-08-15 19:58:25 @j23 Ok, dzięki wielkie za pomoc ;) |
|
Elaine |
» 2016-08-16 01:52:11 1. Zwykły string sobie z tym nie poradzi, użyj wstring. |
Oczywiście, że sobie poradzi, std::string zawiera po prostu bajty i nie interesuje go, co to za bajty; można trzymać w nim UTF-8 bez żadnego problemu. std::wstring nadaje się tylko do jednej rzeczy: współpracy z zewnętrznymi API używającymi wchar_t. Pisałem już kiedyś, dlaczego sprawa z kodowaniami pod Windowsem jest taka chora, ale dzięki wspaniałej wyszukiwarce nie mogę tego znaleźć. |
|
jankowalski25 |
» 2016-08-17 17:41:06 Pisałem już kiedyś, dlaczego sprawa z kodowaniami pod Windowsem jest taka chora, ale dzięki wspaniałej wyszukiwarce nie mogę tego znaleźć. |
Chodzi o drugą stronę tematu Cyfry zamiast liter w wchar_t? |
|
Elaine |
» 2016-08-18 02:29:25 Tak, o ten post chodzi. |
|
1 « 2 » |