заголовок окна экрана UTF8

Я пытался установить заголовок окна UTF8 в моем проекте SDL все, что я вижу, это ???? и я понятия не имею, как с этим бороться. Вот мой пример кода:

#include "SDL/SDL.h"
int main( int argc, char* args[] )
{
int screen_width = 800;
int screen_hight = 600;
int screen_bpp = 32;
SDL_Surface *screen = NULL;
SDL_Init( SDL_INIT_EVERYTHING );
screen = SDL_SetVideoMode( screen_width, screen_hight, screen_bpp, SDL_SWSURFACE  );

// Set the window caption
SDL_WM_SetCaption( "تستی", NULL ); //utf8 not working
SDL_Delay(5000);
SDL_Flip(screen);

}

0

Решение

Ввод его таким образом не будет работать, если только с помощью какого-либо расширения компилятора. Вы можете преобразовать его в кодовые единицы UTF-8 (например, Вот):

D8 AA D8 B3 D8 AA DB 8C

И затем поместите это в символьный литерал, используя шестнадцатеричные escape-символы (\xHH где HH это шестнадцатеричное значение):

SDL_WM_SetCaption( "\xD8\xAA\xD8\xB3\xD8\xAA\xDB\x8C", NULL );

Это должно работать, если ваша система может отображать это.

Очевидно, что это утомительно, если у вас много строк UTF-8, вы можете поместить их в файл в кодировке UTF-8 и прочитать оттуда, или посмотреть, поддерживает ли ваш компилятор литералы UTF-8 (они выглядят так: u8"تستی").

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]