|
|
本帖最后由 redsoft 于 2014-9-12 11:55 编辑
我从不使用 ut8编码,因为utf8带来的效率损失还是不因该属于专来人士能接受的范围。
所以以前挂samba老是乱码,一直没空解决这个问题,最近抽了点时间用 gdb debug了一下,基本理清了。
1.首先这无关内核,不需要什么重新编译内核,增加nls-gb2312的模块,这模块有什么用,
可能只是用于 mount fat32的文件系统的,在路由器中本地显示中文的,
ext3的分区不需要的,因为 ext3 filesystem 是通过 loale interpret 的
但总体而言,nls-gb2312这个模块跟samba 没有必要性关联.
2. 其次,所有官方源的 samba包全是 strip的,没包含 iconv的支持,好象可以支持 native encode,
可能就是使用 nls-gb2312了,但我没试,因为这个方案有很大拘限性,(要改内核,这对快速安装很麻烦的
其次象短信网关转码时还是受限)
所以要重新编译 samba ,增加 libiconv的支持
3. 所有官方源的 libiconv-full 包全是 strip的, 别被它的 full迷惑住,官源的 libiconv是不带cjk
支持的。所以所以要重新编译 libiconv ,去除它对 charsets 的 strip,本想自己重新写个 patch的,
但直接去除官方charset patch 后新编译后代码增量不大,不动算了。时间不因该浪费在没有意义的工作上。
d
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|