|
|
|
|
 问一个编码的问题,急求 - zhengdalx [ 2005-05-21 13:00 | 407 byte(s)]
 Re: 问一个编码的问题,急求 - gogoliu [ 2005-05-21 13:17 | 332 byte(s)]
 Re: 问一个编码的问题,急求 - zhengdalx [ 2005-05-21 14:00 | 48 byte(s)]
 Re: 问一个编码的问题,急求 - gogoliu [ 2005-05-21 15:36 | 42 byte(s)]
 Re: 问一个编码的问题,急求 - zhengdalx [ 2005-05-21 22:57 | 192 byte(s)]
|
|
|
|
[Original]
[Print]
[Top]
|
我想知道g_utf8_validate(),g_locale_to_utf8(),g_locale_from_utf8()这三个函数到底干了哪些事情,都是怎么工作的。
我在编程序的时候,对这三个函数是越用越糊涂,根本搞不清是怎么回事。
比如说我原来的locale是gb18030,然后我把LC_All改成utf8,然后就运行程序,结果发现g_locale_to_utf8并没有正常工作。在这种情况下g_utf8_validate好像可以认出输入的字符不是utf8编码,可是g_locale_to_utf8却不能正确的转化。
|
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
当 locale=zh_CN.gb18030,g_locale_to_utf8() 就是把 gb18030 编码的字符转换为 utf8 编码的。
当 locale=zh_CN.utf8,g_locale_to_utf8() 就是把 utf8 编码的字符转换为 utf8 编码的,即是不做转换,但是你程序中字符的编码是gb18030的,所以,程序把gb18030的编码当作utf8处理。这当然会出错。
使用glib的程序字符编码尽量用utf8编码。
|
|
|
----
良好的沟通能力 和 积极的行动 是成功的钥匙。
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
|
可是g_locale_from_utf8有是根据来进行转化的,那要是我通过g_utf8_validate()已经知道了输入的字符窜不是utf8编码的了,而系统的locale=zh_CN.utf8,那有没有什么办法可以让输入字符窜转化成utf8编码的?
|
|
|
[Original]
[Print]
[Top]
|
|
|