一直以來,我認爲OpenWrt中的libiconv-full應該支持所有的編碼轉換。然而,讀者朋友可能和我一樣,被這個“full”給欺騙了很久。直到最近爲路由器加了OLED(SSD1306)顯示屏,並選擇了UCDOS中的漢字庫,才發現,這個full實在是太具有欺騙性了!根本就不支持GBK的轉換,很顯然,其他亞洲國家的語言,OP都不支持,我估計OpenWrt這樣做的初衷是爲了節省空間。
朋友Darcy給我指明瞭一個方向,讓我看看100-strip_charsets.patch文件,研究之後,印證了我之前的想法:libiconv確實去除了所有的亞洲字符集。知道問題所在後,修改起來就很簡單了。
最簡單粗暴的方法就是:刪除100-strip_charsets.patch,這樣會把所有的編碼都編譯進libiconv,整個lib大概有1M左右。