[華語, cmn-Hant-TW]
FreeBSD ports 裡面的 converter/libiconv 在1.9.2的時代,如果要用 big5 2003 的話,那需要用一些 patch 來把 big5 改成 big5-2003。
現在 ports 裡面的 1.11 已經有 big5-2003,不過是放在extra-encoding 裡就是了,所以可以直接用 big5-2003 來轉換。那如果要讓預設的 big5 就直接是 big5-2003呢? 因為已經有內建,現在要改就不用從外部來,直接動一下裡面的東西就可以了。主要的地方是改 lib/ces_big5.h 這個檔案,把本來用的 big5_mbtowc() 和 big5_wctomb() 改成 big5_2003_mbtowc() 以及 big5_2003_wctomb() 即可。
不過要注意的是因為 big5-2003 是放在 extra encodings 下,所以 configure 的 –enable-extra-encodings 要有設才能編,用 ports 的話就是把 EXTRA_ENCODINGS 的選項打開即可 (預設應該是就有選了)。或是乾脆直接在 lib/ces_big5.h 開頭加上 #include “big5_2003.h” 也可以。