hsy243888913 2025-04-26 14:06 采纳率: 0%
浏览 9

vscode保存txt会在bash中识别成乱码,导致cmakelists.txt无法编辑

img


vscode保存txt文件后,里面就乱码了

img


用bash看就是乱码,用powershell就不会

img


用notepad++打卡也不会乱码

img


使用cmaketool插件自动生成的cmakelists.txt也是如此,在vscode端查看文本没有问题,编译的时候直接报错

img


bash查看就是乱码,cmake编译过不了

img


生成的main函数没有问题

这种需要怎么解决?

  • 写回答

3条回答 默认 最新

  • 紫雾凌寒 新星创作者: 人工智能技术领域 2025-04-26 14:06
    关注

    让 “紫雾凌寒” 来帮你回答,本回答结合 DeepSeek

    如果还有问题,请评论或点击头像私信,如果有帮助到您, 请关注、采纳、点赞

    1. 关键点分析
      - 主要问题是VSCode保存txt文件后出现乱码,在bash中显示异常,但在PowerShell和Notepad++中正常。对于自动生成的CMakeLists.txt也有同样情况,说明这是VSCode保存文件编码设置方面的问题。
    2. 解决方案
      - 设置VSCode文件编码
      • 打开VSCode,点击左下角的设置图标(齿轮状)。
      • 在搜索框中输入“files.encoding”。
      • 确保“files.encoding”的值设置为你期望的编码方式,如“UTF - 8”。
      • 你还可以添加一个配置到.vscode文件夹下的settings.json文件中(如果不存在则创建),内容如下:
    {
        "files.encoding": "UTF-8"
    }
    
    • 检查文件关联编码
      • 在VSCode中打开文件后,查看右下角的编码显示。如果显示的编码不正确,可以手动更改。例如,如果显示的是“GBK”,可以点击它并选择“UTF-8”。
    • 检查系统环境变量
      • 在Windows系统中,搜索“环境变量”并打开。
      • 找到“系统变量”中的“LANG”和“LC_ALL”变量。如果它们的值不是“en_US.UTF-8”,尝试将其修改为该值。这可能会影响到终端(如bash)中文件的显示编码。
        3. 各种方案优缺点
    • 设置VSCode文件编码
      • 优点:直接针对VSCode保存文件时的编码设置进行调整,操作相对简单,能快速解决VSCode内部保存文件的编码问题。
      • 缺点:如果系统环境存在其他编码相关的冲突,可能无法完全解决问题。
    • 检查文件关联编码
      • 优点:针对单个文件的编码显示问题进行修正,比较灵活,可以及时处理打开文件时编码显示错误的情况。
      • 缺点:每次打开文件都需要手动检查和更改编码,不够彻底解决根本问题。
    • 检查系统环境变量
      • 优点:从系统层面解决编码问题,能确保整个系统中文件编码的一致性,对终端等应用的编码显示影响有更全局的解决效果。
      • 缺点:更改系统环境变量可能会影响到其他依赖特定编码设置的软件或功能,操作不当可能导致系统出现其他问题。
        4. 总结
    • 这个问题主要是由于VSCode保存文件的编码设置与bash等终端不一致导致的。通过设置VSCode文件编码、检查文件关联编码以及系统环境变量等方法,可以逐步排查和解决乱码问题。一般先从VSCode自身的编码设置入手,如上述修改“files.encoding”,若仍有问题再进一步检查系统环境变量等。

    希望以上解答对您有所帮助。如果您有任何疑问,欢迎在评论区提出。

    评论

报告相同问题?

问题事件

  • 创建了问题 4月26日