win 下用 Linux paste 命令合并输出了个 txt,打开乱码 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
shenhualv7
V2EX    Linux

win 下用 Linux paste 命令合并输出了个 txt,打开乱码

  •  
  •   shenhualv7 2022-03-12 13:51:47 +08:00 2636 次点击
    这是一个创建于 1379 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在 win 下用 git bash 里的 paste 输出了个 txt ,因为有中文用记事本打开是乱码的,用记事本重新保存成 utf-8 、gbk 、GB18030 都不行,这样该怎么处理才能让我记事本打开正常呢。在 gitbash 里用 cat 显示是正常的。

    7 条回复    2022-03-16 00:39:08 +08:00
    Buges
        1
    Buges  
       2022-03-12 13:56:32 +08:00 via Android
    open with encoding 和 save as encoding
    thinkershare
        2
    thinkershare  
       2022-03-12 14:15:18 +08:00
    先用正确的编码打开, 然后保存成 UTF-8 编码, 另外记事本应该是可以正确识别 UTF-8 的, 你可以使用 VSCode 开文本文件, VSCode 应该是可以猜测出你的正确编码, 然后按照一楼所说, 修改编码为 UTF-8
    thinkershare
        3
    thinkershare  
       2022-03-12 14:18:05 +08:00
    另外我发现记事本是可以正常打开 和 UTF-8 的, 你先确认一下你的文件实际使用的编码是什么, VSCode 的右下是可以修改打开文件的编码方式的, 自己换几个试一试, 常见的就是 UTF-8/UTF-16//GBK
    cssk
        4
    cssk  
       2022-03-12 14:47:59 +08:00 via iPhone
    记事本小心,BOM
    imn1
        5
    imn1  
       2022-03-12 16:33:02 +08:00
    windows 内,unicode 这个词,多数情况(不一定)是指 UTF-16 LE ;而 通常是指 GBK ,因为 只有六千多汉字,是 win32 时代的,现在基本都是 GBK ,兼容 ,只是沿用了旧称罢了

    linux 大多数是无 BOM ,windows 使用 UTF-8/16 保存的东西多数是带 BOM 的

    不要使用记事本,使用现代的编辑器,能自动或手动识别多种编码的编辑器

    另,你输出 txt 是使用 > 命令么?这种情况要看 cmd 自身的编码是什么
    在 cmd 里面运行 chcp 无参数命令,就能显示 cmd 的编码,962 相当于 GBK ,65001 相当于 utf-8 ,其他数字可以去网上查 "windows code page"
    shenhualv7
        6
    shenhualv7  
    OP
       2022-03-15 23:21:05 +08:00
    @Buges @thinkershare @cssk@inm1
    谢谢大家的建议,已经弄好了,是因为之前合并的一个文件有 bom 而且这个文件是拼在后面的,也就是这个 bom 不在合并后文件的第一个字符处,所以合并之后的文件怎么改编码也改不对。
    另外我的 vscode 好像不支持打开 txt 。。什么鬼。。
    thinkershare
        7
    thinkershare  
       2022-03-16 00:39:08 +08:00
    @shenhualv7 VSCode 没啥文件打不开, 包括二进制文件都可以通过插件直接查看 Binary 或者 HEX, 文件内容和后缀没啥关系, 你直接将文件拖入到 vscode 就好了. 找个博客好好理解一下字符集, 编码规则, 存储编码, 这个对写代码还是有点作用的, 另外你这种混合编码写入到一个文件是不好处理的, 怎么改编码都会得到错误结果, 你必须知道在字节的多少偏移位置开始是另外要给文件, 然后写代码, 自己统一转换为同一种编码! UTF-8 的 BOM 在 Windows 上是个历史遗留问题, 其它的 UTF 存储格式的 BOM 是必须的, 将不同编码的二进制流写入到文件的确需要小心!
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2394 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 02:22 PVG 10:22 LAX 18:22 JFK 21:22
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86