[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: 可 請教一下!



: 也就是說,要取得 character set 名稱的話,必須使用 nl_langinfo()
: 函式。然而,這個函式並非到處都找得到,像 glibc-2.1.X, 現階段的
: FreeBSD current .... 等都沒有。因此,如果您的程式要完全跨平台的
: 話,最好用一個 autoconf 來偵測系統有沒有提供這個函式,有的話才
: 呼叫它。

Sorry, 我說錯了, glibc-2.1.X 也有這個 nl_langinfo() 函式,故使
用這個函式在 GNU/Linux 平台上應該都沒有問題。

但有一點要注意,這是剛剛才發現的。我們現在所用的 zh_CN.GB2312
locale, 其 charmap: GB2312 中的 character set name 是 (見第一行):

<code_set_name> GB2312-1980

我建議最好是改成:

<code_set_name> GB2312

然後用 localedef 重新造一個 zh_CN.GB2312 locale 出來。否則的話,
在使用 nl_langinfo 函式所傳回的 encoding name 就不是 GB2312 了,
而是 GB2312-1980。這肯定會造成麻煩的。 :-((((

這一點要請套件包裝者留意一下。


T.H.Hsieh



Reply to: