g_locale_to_utf8的奇怪问题

软件和网站开发以及相关技术探讨
回复
wizardyhnr
帖子: 28
注册时间: 2007-05-06 10:56

g_locale_to_utf8的奇怪问题

#1

帖子 wizardyhnr » 2007-08-22 22:09

想测试一下glib中的g_locale_to_utf8函数,在程序中用
gchar *utf8_strr=g_locale_to_utf8 ("日", -1, NULL, NULL, NULL);
if(utf8_str!=NULL)
g_printf("the result is %s\n", utf8_str);
else
g_printf("conversion failed\n");
文件的编码是gb18030,系统的locale是zh_CN.GB18030,最后输出的是conversion failed。说明g_locale_to_utf8转换不成功。
换成函数将utf8_str=g_locale_to_utf8 ("日", -1, NULL, NULL, NULL);换成utf8_str=g_convert("日",-1,"UTF-8","GB2312",NULL,NULL,NULL);
转换成功,输出结果是对的,请问是g_locale_to_utf8的bug,还是有别的用法。
sxzzsf
帖子: 5
注册时间: 2005-11-01 13:40

#2

帖子 sxzzsf » 2007-10-08 20:59

#include <locale.h>
int main()
{
setlocale(LC_CTYPE, "");
char *str = g_locale_to_utf8("你", -1, NULL, NULL, NULL);
}
回复