我尝试在 C 中解析一个 UTF-8 JSON 消息。我将以下代码传递给解析器:
char *text = "{\"mdl\":\"users\",\"fnc\":\"getuserslist\"}";
和所有的作品。但是如果消息有一个西里尔字符,我的两个解析器都说这个字符串是“无效的 UTF-8 字符串”。例子:
char *text = "{\"mdl\":\"пользователи\",\"fnc\":\"получитьсписокпользователей\"}";
我对 C 使用了 Jansson C 解析器和 CCAN JSON 解析器。在我的主要函数中,我有以下setlocale调用:
setlocale(LC_ALL, "ru_RU.utf8");
如何在其中使用西里尔字符获取有效的 UTF-8 字符串?