Notepad++运行Lua脚本怎么在控制台显示中文

风敏大大_5687

风敏大大_5687

2026-11-07

302人浏览

原创

根本原因是Windows控制台(CP936)、Notepad++(UTF-8)与lua.exe输出字节三者编码不一致;需执行chcp 65001切换控制台为UTF-8,并确保.lua文件为UTF-8无BOM编码且已保存。

notepad++运行lua脚本怎么在控制台显示中文

Notepad++ 运行 Lua 脚本时控制台显示中文乱码,根本不是脚本写错了,而是 Windows 控制台(默认 CP936/GBK)、Notepad++(默认 UTF-8)和 lua.exe 输出字节三者之间编码解读错位。只要其中一环没对齐,print("中文") 就会变成方块、问号或报错 unexpected symbol near '▒'。

chcp 65001 是最直接有效的临时解法

Windows 控制台默认用 GBK 解码输出,而你写的 Lua 文件是 UTF-8 编码,lua.exe 原样把 UTF-8 字节吐给 cmd,cmd 却当 GBK 解——必然乱码。强制让 cmd 切到 UTF-8 模式就能对上。

  • 在 Notepad++ 的 Run 对话框(F5)中,输入:chcp 65001 && lua "$(FULL_CURRENT_PATH)"
  • 如果想保留黑窗并防闪退,改用:chcp 65001 && cmd /k lua "$(FULL_CURRENT_PATH)" & PAUSE
  • chcp 65001 >nul 可隐藏切换提示行,适合 NppExec 脚本里用
  • 注意:chcp 命令只对当前 cmd 实例生效,关掉就重置,所以必须每次运行都带上

文件编码必须是 UTF-8 无 BOM

Notepad++ 右下角显示“UTF-8”不等于真 UTF-8;它可能误判为 UTF-8-BOM 或 ANSI。BOM(\xEF\xBB\xBF)会被 Lua 5.3+ 当作非法字符,直接报 unexpected symbol near '▒'。

Notepad++ Windows版
Notepad++ Windows版

Notepad++ 8.9.7 Windows版官方安装包,适合 Windows 用户进行代码编辑、文本处理、语法高亮和插件扩展配置。

下载
  • 打开 Lua 文件 → 菜单栏「编码」→ 点「UTF-8」(**不是**「UTF-8-BOM」)
  • 立刻按 Ctrl+S 保存,否则关闭后恢复原状
  • 新建文件前,务必进「设置 → 首选项 → 新建文档/默认目录」→ 把「新建文档编码」设为「UTF-8」,并取消勾选「以UTF-8-BOM格式编码」
  • 若已乱码且「UTF-8」选项无效,说明文件实际是 GBK 编码:先「以GBK格式编码」还原内容,再「转为UTF-8」保存

NppExec 插件比 F5 更可靠,但得配对用

F5 的 Run 功能太简陋,不支持参数、不捕获 stderr、不跳转错误行。NppExec 能解决这些,但乱码问题它不自动处理——它只是管道,不改编码链。

  • 安装 NppExec(v1.0+,旧版不支持 UTF-8 输出)
  • 执行脚本填:chcp 65001 >nul && cd "$(CURRENT_DIRECTORY)" && lua "$(FILE_NAME)"$1$2$3
  • 保存为「Run Lua」,进「Advanced Options → Add to Menu」,勾选「Follow console output with caret」
  • 别信 io.stdout:setvbuf('no')——它只关缓冲,跟编码无关

真正卡住的从来不是菜单点哪,而是 lua.exe 是否在 PATH 里、lua -v 能否在 CMD 中返回版本号、Notepad++ 是否彻底重启过、路径引号有没有漏、文件是不是真 UTF-8 无 BOM——四者缺一,控制台中文就永远出不来。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
notepad++官网
notepad++官网

notepad++提供了许多强大的功能和工具,使其成为许多程序员和开发人员的首选工具。本专题为大家提供notepad++官网的相关文章,大家可以免费体验。

2023.08.04

6433

7

notepad++使用教程
notepad++使用教程

notepad++适合处理代码编辑、文本替换、格式查看和批量查找等日常任务。本专题围绕下载安装、界面设置、文件编辑、查找替换、插件使用和常见问题处理展开。

2025.08.01

7962

38

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

2026.11.05

20

12

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

2026.11.05

20

12

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

2026.11.04

20

16

XORM框架结构体映射与表结构同步
XORM框架结构体映射与表结构同步

本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。

2026.11.04

20

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

20

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

16

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Notepad++ 官方插件文档
Notepad++ 官方插件文档

共0课时 | 0人学习

Notepad++ 官方用户手册
Notepad++ 官方用户手册

共0课时 | 0人学习

Notepad++ 官方插件文档
Notepad++ 官方插件文档

共0课时 | 0人学习