[原创]vi的“输入编码转换不支持”错误_VMware, Unix及操作系统讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  VMware, Unix及操作系统讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 2605 | 回复: 0   主题: [原创]vi的“输入编码转换不支持”错误        下一篇 
wulcan
版主
等级:中校
经验:1795
发帖:124
精华:0
注册:2014-3-19
状态:离线
发送短消息息给wulcan 加好友    发送短消息息给wulcan 发消息
发表于: IP:您无权察看 2015-4-12 9:39:29 | [全部帖] [楼主帖] 楼主

一个系统在断电后磁盘出现问题,强制修复后,用vi编辑时总是出现一些烦人的提示,在打开vi时有一句:

ex/vi: Input encoding conversion not supported


北京联动北方科技有限公司

在退出时也总是有一句:

Input encoding conversion not supported; test.txt: new file, UNLOCKED: line 1


这个错误在百度、bing上都没搜到,只好自已动手。
因为这是个字符编码的错误,所以就跟字符编码相关的文件有关。在FreeBSD中,字符编码都存放在/usr/share和/usr/local/share目录中,进入这两个目录,对照正常的机器,逐个目录进行du -d 1 -h,来判断一个文件目录是否正常。
果不出所料,/usr/share/i18n目录丢失,没找到这个目录,从正常的机器复制了一个,就不再提示“不能转换输入编码”的错误了。

北京联动北方科技有限公司

那么在i18n目录下有什么呢?

# ls /usr/share/i18n/
csmapper        esdb


有两个文件夹,一个是mapper顾名思义就是一个“映射”,联想到这是字符转换,可以去man一下iconv:

#man iconv:
……
SEE ALSO
mkcsmapper(1), mkesdb(1), iconv(3)


至此应该比较明白了,这两个目录就是为iconv准备的,csmapper就是一个字符间转换的对照表,esdb就是iconv的分类表,这两类文件都是二进制的,用vi打开不会看到有用的信息,但是随意逛的时候,在GB目录下却发现一个比较陌生的汉字编码:GB12345。
GB2312都知道,这个GB12345是何方神圣呢?直接问百科:
GB 12345,全称《信息交换用汉字编码字符集 辅助集》(英文:Code of Chinese ideogram set for information interchange supplementary set),也就是“第一辅助集”,简称 GB1,可以看成是GB2312的繁体版本,共收录6866个汉字,是中国为了适应繁体汉字信息处理而制定的标准。由于不能满足现实需求,所以也不被大多数电脑系统采用。
GB 12345 原称 GB/T 12345-90,于1990年发布,T 是“推荐”汉语拼音首字母。1993年改为强制性,改称 GB 12345。
  原来是一个简繁体的转换标准,很少跟繁体字打交道,不知道也正常了。




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论