奇怪的iconv转码问题

我有一个文件,每一行用制表符分隔,像下面这样(我直接复制过来的,不知道格式是不是会有变化):

        pv      kmap_business_up    4   榭??????????????????????????????????????????????????????????????????XXfe29ec1d-ba80-46ca-97aa-435c40749f35

我用iconv转码后发现有的行还是存在乱码,像上面这样的,然后需要再调用iconv命令转码一次才能转码成功.

grep fe29ec1d-ba80-46ca-97aa-435c40749f35 pv_log |awk -F"\t" '{print $7}' |iconv -f utf-8 -t gbk -c
蹇????????????????????????????????????

grep fe29ec1d-ba80-46ca-97aa-435c40749f35 pv_log |awk -F"\t" '{print $7}' |iconv -f utf-8 -t gbk -c|iconv -f utf-8 -t gbk  -c
和面甘蔗榨汁果汁绞肉

上面是我的一个例子,pv_log是文件名,我用fe29ec1d-ba80-46ca-97aa-435c40749f35 pv_log(这是uuid)把最上面的那条记录过滤出来,用一个iconv命令转码输出还是乱码,再第一次转码的结果上再次调用iconv输出才是汉字,请问这是怎么回事呢?

最最关键的是我从最初的pv_log中发现这个uuid对应的行中的汉字应该是:

和面机 甘蔗榨汁机 果汁机 绞肉机

请问各路大神这会是哪里出现了问题?

阅读 5.4k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏