왜 glib 기능을 통해 utf8 기호를 인쇄 할 수 없습니까?glib에 utf8을 인쇄하십시오
소스 코드 :
#include "glib.h"
#include <stdio.h>
int main() {
g_print("марко\n");
fprintf(stdout, "марко\n");
}
이처럼 빌드 : 당신은 그 입심을 볼 수
gcc main.c -o main $(pkg-config glib-2.0 --cflags --libs)
은 UTF8 인쇄 할 수 없습니다와 fprintf를 수행 할 수 있습니다
[[email protected] utf8test]$ ./main
?????
марко
setlocale (LC_ALL, "en_US.UTF-8") 이후 모든 것이 작동하지만 LANG = en_US.UTF-8 ./main이 없으면 작동하지 않습니다. 왜 이런거야? 시스템 기본값은 en_US.UTF-8입니다. –
하위 프로세스에서 볼 수 있도록 변수를 내 보내지 않아도됩니까? 또한 변수는 man 페이지에 표시된대로 이름이 지정되며'export LC_ALL = en_US.utf8 &&./main'; 문자열 인쇄를 위해서만 LC_CTYPE을 설정하는 것으로 충분할 수도 있습니다. – Mecki
변수를 '저장'하려면 내보내기가 필요합니다. 하나의 응용 프로그램을 원한다면 프로그램 이름 앞에두기에 충분합니다. 어쨌든 LANG, LC_ALL 및 LC_CTYPE에 대한 내보내기를 완료했습니다. 아무것도. 아직도 작동하지 않습니다. 이상한 ... –