LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 558|回复: 1

如何vi中替换<C2><A0>字符?

[复制链接]
发表于 2011-10-9 10:59:04 | 显示全部楼层 |阅读模式
从网页拷贝的一段sql语句至test.sql,在sqlite中运行发现一大串的错误。
用vi没看出啥问题来。
用less 查看,提示
  1. "test.sql" may be binary file. See it anyway?
复制代码


结果所有空格显示为"<C2><A0>"。
发表于 2011-10-9 11:53:10 | 显示全部楼层
http://en.wikipedia.org/wiki/Non-breaking_space#Encodings
0xC2A0是Unicode编码后的non-breaking space。


  • 确保您的locale是*.UTF-8;
  • 将需要转换的内容于INPUT中,之后:
    1. printf 's/\302\240//g' > /tmp/seds && sed -f /tmp/seds -i INPUT
    复制代码


如果必须用vi的话:

  • 确保您的locale是*.UTF-8;
  • 在vim中输入%s/,之后用Ctrl+K N S输入这个字符,再输入/ /g;
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表