如何从 SDL_TEXTINPUT 获取 utf-8 输入?
How to get utf-8 input from SDL_TEXTINPUT?
这是一个小代码,当我们在法语键盘上按“é”键或特殊字符时,我们会在控制台中得到奇怪的字符,例如“├®”。
#include <iostream>
#include "SDL.h"
using namespace std;
int main(int argc, char** argv)
{
SDL_Init(SDL_INIT_EVERYTHING);
SDL_CreateWindow("test", 100, 100, 1920, 1080, SDL_WINDOW_RESIZABLE);
bool opened = true;
SDL_Event event;
while(opened)
{
SDL_StartTextInput();
SDL_WaitEvent(&event);
switch(event.type)
{
case SDL_QUIT:
{
opened = 0;
break;
}
case SDL_TEXTINPUT:
{
cout << event.text.text << endl;
break;
}
}
}
return EXIT_SUCCESS;
}
PS: 我正在使用 SDL 2
只需要使用 TTF_RenderUTF8_Blended
进行渲染(文件中的输出很好)
这是一个小代码,当我们在法语键盘上按“é”键或特殊字符时,我们会在控制台中得到奇怪的字符,例如“├®”。
#include <iostream>
#include "SDL.h"
using namespace std;
int main(int argc, char** argv)
{
SDL_Init(SDL_INIT_EVERYTHING);
SDL_CreateWindow("test", 100, 100, 1920, 1080, SDL_WINDOW_RESIZABLE);
bool opened = true;
SDL_Event event;
while(opened)
{
SDL_StartTextInput();
SDL_WaitEvent(&event);
switch(event.type)
{
case SDL_QUIT:
{
opened = 0;
break;
}
case SDL_TEXTINPUT:
{
cout << event.text.text << endl;
break;
}
}
}
return EXIT_SUCCESS;
}
PS: 我正在使用 SDL 2
只需要使用 TTF_RenderUTF8_Blended
进行渲染(文件中的输出很好)