本文介绍: 通过 vscode 编译 a.lua 文件通过 cmdbash 执行 lua运行脚本结果如下国内 window cmd默认编码时GBK,而 windowslua 也是以此作为默认编码的。bashlua 依然以 gbk 格式执行 a.lua 文件cmd 中 luagbk 格式执行 a.lua 文件。bashutf8 格式读取 a.lua 文件。更改 a.lua 编码utf8 => gbkcmdgbk 格式读取 a.lua 文件。更改 lua 默认编码

通过 vscode 编译 a.lua 文件,通过 cmdbash 执行 lua运行脚本结果如下

C:Userslawsssscattemp>more a.lua
print("hh浣犲ソ")

C:Userslawsssscattemp>lua a.lua
hh浣犲ソ

C:Userslawsssscattemp>bash

lawsssscat@pc-3B8USVE-law MINGW64 ~/temp
$ cat a.lua
print("hh你好")

lawsssscat@pc-3B8USVE-law MINGW64 ~/temp
$ lua a.lua
hh浣犲ソ

出现下面结果原因

  1. vscodeutf8 格式保存的文件
    在这里插入图片描述

  2. cmdgbk 格式读取 a.lua 文件

    C:Userslawsssscattemp>more a.lua
    print("hh浣犲ソ")
    
  3. cmd 中 lua 以 gbk 格式执行 a.lua 文件

    C:Userslawsssscattemp>lua a.lua
    hh浣犲ソ
    
  4. bashutf8 格式读取 a.lua 文件

    lawsssscat@pc-3B8USVE-law MINGW64 ~/temp
    $ cat a.lua
    print("hh你好")
    
  5. bash 中 lua 依然以 gbk 格式执行 a.lua 文件

    lawsssscat@pc-3B8USVE-law MINGW64 ~/temp
    $ lua a.lua
    hh浣犲ソ
    

经过上面分析处理乱码就很简单

  1. (不建议 更改 a.lua 编码utf8 => gbk
    在这里插入图片描述
    在这里插入图片描述

  2. 更改 lua 默认编码
    需要重新编译比较麻烦
    参考:Lua 在 Windows 下的编码问题https://zhuanlan.zhihu.com/p/157815053

  3. 更改 Windows 默认编码
    国内 window cmd 下默认编码时GBK,而 windows 中 lua 也是以此作为默认编码
    更改 cmd 默认编码的方式如下

    1. 控制台界面输入 chcp 65001,则可以当前界面暂时改成 UTF-8 编码;
      需要注意的,控制台更改只在控制台生效退出失效
    2. 永久保存
      参考https://blog.csdn.net/gulang03/article/details/81771343
    3. 修改 vscode 打开 cmd 的编码
      修改 setting.json 文件:
      // 旧版
      //"terminal.integrated.shellArgs.windows": ["/K chcp 65001 >nul"],
      // 新版
      "terminal.integrated.profiles.windows":{
          "PowerShell": {
              "source": "PowerShell",
              "icon": "terminal-powershell",
              "args": ["-NoExit", "/c", "chcp 65001"]
          },
      },
      

相关

  1. VSCode 使用控制台输入配置中文编码 – https://blog.csdn.net/qq_44776065/article/details/115985579
  2. Vscode升级配置shell—-profiles.windowshttps://blog.csdn.net/qq_38276120/article/details/120202519

原文地址:https://blog.csdn.net/LawssssCat/article/details/127451896

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_34684.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注