V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Akagi201
V2EX  ›  问与答

怎么把一个目录和其子目录中所有源文件都转换成 UTF-8 编码?

  •  
  •   Akagi201 · 2014-11-11 18:14:53 +08:00 · 3353 次点击
    这是一个创建于 3666 天前的主题,其中的信息可能已经有所发展或是发生改变。
    源码是win下开发的, 我需要在mac/linux下浏览和编辑, 但是直接打开中文是乱码. 我知道vim :set fileencoding=utf-8是可以的, 但是文件比较多. 希望有更简单方法.
    第 1 条附言  ·  2014-11-12 00:36:36 +08:00
    enca -L zh_CN -x UTF-8 file
    dos2unix file
    11 条回复    2014-11-12 09:00:25 +08:00
    happywowwow
        1
    happywowwow  
       2014-11-11 18:37:20 +08:00   ❤️ 1
    wudaown
        2
    wudaown  
       2014-11-11 18:42:10 +08:00 via iPhone   ❤️ 1
    安装enca
    enca -L zh_CN *
    我都是这么做的
    wudaown
        3
    wudaown  
       2014-11-11 18:43:22 +08:00 via iPhone
    我的意思是UTF-8 自己看man吧
    horryq
        4
    horryq  
       2014-11-11 20:29:18 +08:00
    iconv ?
    aaaa007cn
        5
    aaaa007cn  
       2014-11-11 23:13:25 +08:00   ❤️ 1
    vim 可以直接通过脚本/批处理输入命令
    虽然需要另外实现遍历子目录
    或者直接利用 python 的 pathlib 可以十来行就实现整个需求
    https://docs.python.org/3/library/pathlib.html

    不过即使不转文件编码
    也可以在 .vimrc 中设置编码识别顺序吧
    set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,latin-1
    http://edyfox.codecarver.org/html/vim_fileencodings_detection.html
    Akagi201
        6
    Akagi201  
    OP
       2014-11-12 00:33:31 +08:00
    @wudaown 多谢, 比iconv好用
    Akagi201
        7
    Akagi201  
    OP
       2014-11-12 00:34:15 +08:00
    @aaaa007cn 我需要在github上也能正常浏览, 必须转换, enca不错.
    Akagi201
        8
    Akagi201  
    OP
       2014-11-12 00:36:05 +08:00
    @wudaown 发现还要用dos2unix一下, 不让换行还是CRCF
    imxz
        9
    imxz  
       2014-11-12 00:37:36 +08:00 via iPhone   ❤️ 1
    EncodingConverter 你值得拥有。
    Akagi201
        10
    Akagi201  
    OP
       2014-11-12 01:09:18 +08:00
    @imxz 能给个地址吗?没google到
    cdfmr
        11
    cdfmr  
       2014-11-12 09:00:25 +08:00   ❤️ 1
    HanzConvert
    https://itunes.apple.com/cn/app/hanzconvert/id442107196

    这个也不修改换行符,用 find + dos2unix 搞定。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1380 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 17:15 · PVG 01:15 · LAX 09:15 · JFK 12:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.