为啥 Visual Studio Community 默认使用的 编码,是因为我操作系统用的中文吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
请不要在回答技术问题时复制粘贴 AI 生成的内容
coolair

为啥 Visual Studio Community 默认使用的 编码,是因为我操作系统用的中文吗?

  •  1
     
  •   coolair Nov 1, 2024 2664 views
    This topic created in 544 days ago, the information mentioned may be changed or developed.
    有办法修改成默认 UTF-8 吗?

    我用 Unity 新建一个 C#脚本,默认是 UTF-8 格式,用 VS 编辑保存就变成了 了,然后在 Unity 里面预览中文就是乱码。
    13 replies    2024-11-02 07:17:10 +08:00
    zeromake
        1
    zeromake  
       Nov 1, 2024
    windows 默认编码一直是和国家语言绑定的,windows 后来才加的 utf-8
    xuld
        2
    xuld  
       Nov 1, 2024
    Visual Studio 默认编码可以调,打开设置
    liuguangxuan
        3
    liuguangxuan  
       Nov 1, 2024
    是的,而且好像没办法修改。

    @xuld 老哥细说一下,设置哪里?
    coolair
        4
    coolair  
    OP
       Nov 1, 2024
    @liuguangxuan #3 默认编码不能调,只能调操作系统编码。
    thinkershare
        5
    thinkershare  
       Nov 1, 2024
    @coolair VS 的编码默认按照操作系统来,Windows 10 开始可以将系统默认的 改成 UTF-8(zip 解压缩会出问题,部分老软件会出问题). VS 有插件可以将纯代码文件强制转换为 UTF-8 (无论操作系统使用什么编码)。
    liuguangxuan
        6
    liuguangxuan  
       Nov 1, 2024
    这个是根据当前电脑的代码页( code page )来的。
    查看代码页的方法是在 cmd 中输入 chcp ,如果是中文环境的话,就会显示 936 ,英文的显示为 437 。
    设置:控制面板->时钟和区域->区域->管理->更改系统区域设置。
    coolair
        7
    coolair  
    OP
       Nov 1, 2024
    @thinkershare #5 老哥说的对,确实如此,改成了 UTF-8 就行了,但是 zip 解压缩出来的 txt 查看就是乱码。
    thinkershare
        8
    thinkershare  
       Nov 1, 2024
    @coolair 这个 BUG 微软还不打算修复,而且修复很麻烦,根源是 ZIP 这个压缩格式的文件名规范有问题,没有存储文件名使用的编码,短时间还是无解的。你的电脑使用 UTF-8 编码,zip 压缩后,发给另外一个人,它系统用的 , 自带的 zip 解压就会按照它电脑的 去解码文件名,就会乱码,如果他也是有 UTF-8 的设置,则没问题。
    暂时的曲线救国就是用第三方 7zip 或者 WinRAR,它们可以显示解压的时候指定文本文件使用的编码。
    thinkershare
        10
    thinkershare  
       Nov 1, 2024
    顺便说,powershell 的解压命令 Expand-Archive 也是有问题的,它不支持指定编码的-Encoding 参数,我自己弄了个模块,覆盖了系统的 Expand-Archive ,这个问题,github 上,已经有五年了,微软也不打算修复。操蛋的设计。
    thinkershare
        11
    thinkershare  
       Nov 1, 2024
    @coolair 上面 @quan01994 说的用.editorconfig 配合 Force UTF-8 (NO BOM) 插件是我目前使用的方案。
    cnbatch
        12
    cnbatch  
       Nov 1, 2024
    Visual Studio 2022 的选项→文本编辑器→常规,有个“自动检测不带签名的 UTF-8 编码”,也会有用
    cooltechbs
        13
    cooltechbs  
       Nov 2, 2024
    我怎么记得 VS 2022 已经改成默认 UTF-8 with BOM 了?
    About     Help     Advertise     Blog     API     FAQ     Solana     4535 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 45ms UTC 10:05 PVG 18:05 LAX 03:05 JFK 06:05
    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